![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGrid и "DataSet.AfterOpen" [D7]
Silver... © (2006-02-02 17:07:00)Как мне "из-под (от его имени)" DBGrid-а узнать что он сеичас будет данные заливать (типа уловить что у его DataSet-а случилось
DataSet.Open)
Поесню(упрощенно): Есть Фрейм На нем лежит DBGrid и панель с меткой. Так вот как тока в DBGrid сливаются данные мне нужно в метке положить данные из др. DataSet-а.
Конечно мог бы сделать в DataSet.AfterOpen но тока вот беда этот фреим имеется и на др. формах не буду же обработку в каждоы форме делать или в AfterOpen все Фреймы искать ктоб в Метке инфу показать. Вот и радилась идея словить момент когда DBGrid заливает данные и при этом и с меткой разобраться
Silver... (2006-02-02 17:50:00) [1]Ega23 © (02.02.06 17:25) [1]
Спасибец даже не ожидал так быстро ПРАВЕЛЬНЫЙ ответ получить
Ega23 (2006-02-02 17:25:00) [2]
TMyFrame = class (TFrame)
DBGrid : TDBGrid;
........
procedure DataSetafterOpen(DataSet:TDataSet);
private
.....
FOldafterOpen : TDataSetNotifyEvent;
public
procedure AfterConstruction; override;
procedure BeforeDestruction; override;
end;
procedure TMyFrame.AfterConstruction;
begin
inherited;
FOldafterOpen:=DBGrid.DataSource.DataSet.AfterOpen;
DBGrid.DataSource.DataSet.AfterOpen:=DataSetafterOpen;
end;
procedure TMyFrame.BeforeDestruction;
begin
DBGrid.DataSource.DataSet.AfterOpen:=FOldafterOpen;
inherited;
end;
procedure DataSetafterOpen(DataSet : TDataSet);
begin
if Assigned(FOldafterOpen) then FOldafterOpen(DataSet);
Тут твой обработчик
end;
Вроде так...