在DBGrid中按下键时,有保存当前记录和增加新记录两个动作,请问保存当前记录前触发的事件及增加新记录前后触发的事件。(88分)

  • 主题发起人 主题发起人 于小澜
  • 开始时间 开始时间
关联的dataset中有BeforePost AfterPost
 
保存前后:
关联的dataset中有BeforePost AfterPost
新记录前后
关联的dataset中有BeforeInsert AfterInsert
 
可以自己来检验各个事件的先后,只需要在相应事件中显示一个提示框就行了:
procedure TDataModule1.BeforeInsert(DataSet: TDataSet);
begin
ShowMessage('Before Insert!');
end;

procedure TDataModule1.OnNewRecord(DataSet: TDataSet);
begin
ShowMessage('On New Record!');
end;

procedure TDataModule1.AfterInsert(DataSet: TDataSet);
begin
ShowMessage('After Insert!');
end;
这样你就能很清楚的知道各个事件的先后顺序了,这只是个经验性问题。
 
我为此做了个测试:
1.当在dbgrid上修改当前纪录时触发的事件为:
datasource的:onstatechange,ondatachange.
2.保存前后:
beforepost,afterpost,beforescroll,afterscroll.
3.新纪录前后:
beforescroll,beforeinsert,afterinsert,afterscroll.
 
多人接受答案了。
 
后退
顶部