为什么我给动态创建的ClientDataSet中的TField设置onValidate句柄,不能执行? (75分)

  • 主题发起人 bestrose
  • 开始时间
B

bestrose

Unregistered / Unconfirmed
GUEST, unregistred user!
//定义:
DataModual1=class(datamodual)
procedure aaa(sender:Tfield);
end;

///////////////////////////////////////////
//执行
cds_item:=TclientDataSet.creat(self);
retrieve数据//此处为取数据到cds_item中;
dbgrid1.DataSource.DataSet.Fields[6].OnValidate:=aaa;

////////////////////////////////////////////////////
procedure DataModual1.aaa(sender:Tfield);
begin
showmessage('aaa');
end;
///////////////////////////////////////////////////

单步执行是可以看到aaa的句柄已经赋给了dbgrid1.DataSource.DataSet.Fields[6].OnValidate
可是当在dbgrid1中修改数据时,就是不触发onvalidate事件。
(没有cacheupdate,就是dbgrid中的cell发生改变,即时在clientdataset里改变值)
请问这是为什么?谢谢!
 
no body knows?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
846
SUNSTONE的Delphi笔记
S
I
回复
0
查看
717
import
I
顶部