Вниз
Скачать: CL | DM;

DBGrid и "DataSet.AfterOpen"   Найти похожие ветки 

← →
Silver... ©   (2006-02-02 17:07) [0]

Как мне "из-под (от его имени)" DBGrid-а узнать что он сеичас будет данные заливать (типа уловить что у его DataSet-а случилось DataSet.Open)

Поесню(упрощенно): Есть Фрейм На нем лежит DBGrid и панель с меткой. Так вот как тока в DBGrid сливаются данные мне нужно в метке положить данные из др. DataSet-а.
 Конечно мог бы сделать в DataSet.AfterOpen но тока вот беда этот фреим имеется и на др. формах не буду же обработку в каждоы форме делать или в AfterOpen все Фреймы искать ктоб в Метке инфу показать. Вот и радилась идея словить момент когда DBGrid заливает данные и при этом и с меткой разобраться


← →
Ega23 ©   (2006-02-02 17:25) [1]


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;


Вроде так...


← →
Silver... ©   (2006-02-02 17:50) [2]

Ega23 ©   (02.02.06 17:25) [1]
Спасибец даже не ожидал так быстро ПРАВЕЛЬНЫЙ ответ получить



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
2-1141985633
Gleb
2006-03-10 13:13
2006.03.26
Как с помощью Delphi перемножить две матрицы?


4-1135935445
oleggar
2005-12-30 12:37
2006.03.26
file monitoring


2-1141888862
Гость111
2006-03-09 10:21
2006.03.26
SQL


15-1141385510
MU
2006-03-03 14:31
2006.03.26
Загадка. (извините, если она уже была)


15-1141484218
Piter
2006-03-04 17:56
2006.03.26
Интеграця в проводник (во всплывающее меню)




   Наверх