在多个DBEdit修改了客户端数据,什么消息会被触发呢??(60分)

  • 主题发起人 主题发起人 coolping
  • 开始时间 开始时间
C

coolping

Unregistered / Unconfirmed
GUEST, unregistred user!
ClientDataSet1;DataSource1;还有多个DBEdit,我从客户端输入搜索内容,
然后把搜到的元组下载到客户端用多个DBEdit显示,可是但我修改了一个
或者多个DBEdit后什么消息会被触发呢?这样客户退出时可以提示是否保存.
我发觉用AfterPost不行,可能只有一个元组的原因,我也不想用OnChange.
这样DBEdit太多了.
 
你可以设一个全局变量!
tablemodified:boolean;
onafterpost 事件中
tablemodified:=true;
在退出时写
if tablemodified then
if application.messagebox('数据库已经更改,是否保存',‘操作提示!’,mb_yesno)=idyes then
.......
 
你可以用 dbedit1.Modified 来判断是否修改了数据,但是每个DBEDIT都做判断太麻烦,
你可以写一个公共过程。
 
问题是onafterpost 他根本就没触发过!
 
TDataSource.OnDataChange试试。
 
用DataSource.DataSet.State它来判断,如果等于dsEdit则需要保存
 
多人接受答案了。
 
后退
顶部