Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.20;
Скачать: CL | DM;

Вниз

Какое событие совершает DBGrid (EhDBGrid) после перехода   Найти похожие ветки 

 
Layner ©   (2003-10-31 11:03) [0]

от редактированной записи на другую строку? Мне как раз в этот момент надо самому UPDATE`ить запись, "руками", а не успеваю, выскакивает ошибка в несоответствии типов (что и верно, в PicList отображаю текст, а в табл. нужно вставлять ID, который я и вычисляю)...
Заранее спасибо.


 
Vlad ©   (2003-10-31 11:06) [1]

DataSet.BeforePost


 
Layner ©   (2003-10-31 11:09) [2]

Vlad © (31.10.03 11:06)
СПАСИБО!!! Я к гриду привязался :)


 
BrainStorm   (2003-10-31 11:11) [3]

DataSet.BeforeScroll


 
chtr ©   (2003-10-31 11:12) [4]

AfterScroll :))


 
Zacho ©   (2003-10-31 11:14) [5]

Еще добавлю:
1.В TDBGridEh кроме PickList есть еще и KeyList, возможно нужные ID тебе просто достаточно прописать в KeyList
2. Сильно подозреваю, что на самом деле тебе нужно создать lookup поле в DataSet"е.


 
BrainStorm   (2003-10-31 11:14) [6]

After уже будет совсем другая ист... активная запись


 
chtr ©   (2003-10-31 11:17) [7]

sorry не въехал, шел от вопроса:
Какое событие совершает DBGrid (EhDBGrid) после перехода


 
Layner ©   (2003-10-31 11:33) [8]

Zacho © (31.10.03 11:14)
Это мне как раз и требовалось!!!
Подскажи, пожалуйста, как в BeforePost подменить значение ячейки посылаемое в БД по умолчанию - что ведет к ошибке, на KeyList??


 
Layner ©   (2003-10-31 11:39) [9]

Иначе в BeforePost в БД посылается текстовое поле PickList, а надо, чтобы в БД ложилось значение KeyList.


 
chtr ©   (2003-10-31 11:39) [10]

tdataset.fieldbyname(fieldname):=value;


 
Layner ©   (2003-10-31 11:46) [11]

procedure Tmf.gCellClick(Column: TColumnEh);
var
i:integer;
begin
Column.PickList.Clear;
case g.SelectedIndex of
6:
begin
q2.SQL.Clear;
q2.SQL.Add("select rowid, name from test");
q2.Active := true;
for i:=0 to q2.Recordset.RecordCount-1 do
begin
Column.PickList.Add(q2.FieldValues["name"]);
Column.KeyList.Add(q2.FieldValues["name"]);
q2.RecNo := q2.RecNo+1;
end;
q2.Active := False;
end;
end;
end;

procedure Tmf.q1BeforePost(DataSet: TDataSet);
begin
q1.FieldByName("rod_id"):= //сюда "лезут" данные из PickList, а как KeyList занести?
end;


 
Zacho ©   (2003-10-31 11:50) [12]


> Layner © (31.10.03 11:33) [8]

Если используешь PickList совместно с KeyList, то ничего в BeforePost подменять не надо, это сделает сам DBGridEh.


 
Zacho ©   (2003-10-31 11:54) [13]


> Layner © (31.10.03 11:46) [11]

О-ооо ! Выкинь быстро все это, и создай lookup-поле в датасете.

> Column.PickList.Add(q2.FieldValues["name"]);
> Column.KeyList.Add(q2.FieldValues["name"]);

И нафига заполнять KeyList такими же значениями, как и в PickList ? Суть в чем: при просмотре/редактировании берется строка из PickList, а в датасет заносится соответствующая ей строка из KeyList.


 
Layner ©   (2003-10-31 11:56) [14]

Zacho © (31.10.03 11:50)
DBGridEh сам вот не хочет менять :(
Извиняюсь за назойливость, можно я скину по почте свой пример(D7+Eh)?
Проанализирую, в чем тут дело, ну все переделал, не помогает :( :( :( :( :(


 
Layner ©   (2003-10-31 11:57) [15]

Zacho © (31.10.03 11:54)
Сейчас исправлю, последний ответ не увидел, благодарю, сейчас напишу.


 
Zacho ©   (2003-10-31 11:59) [16]


> Layner © (31.10.03 11:57) [15]

И забудь пока про PickList и KeyList. Твоя задача решается созданием lookup поля в q1



Страницы: 1 вся ветка

Текущий архив: 2003.11.20;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
3-65714
Sava
2003-11-03 13:48
2003.11.20
Типы данных InterBase?


6-66053
mutant
2003-09-25 13:45
2003.11.20
Как узнать тип соединения???


1-65889
Oleg_
2003-11-08 00:12
2003.11.20
Jpeg в поток


1-65914
Prof
2003-11-08 12:12
2003.11.20
Поиск файла


1-65955
AndreyA
2003-11-10 09:35
2003.11.20
Scroll