query.next 或其它一切更改指针变动的情况,都会触发AfterScrol事件。可以在这个事件中写你自己想实现的内容: 比如:使同一窗体中的两个DBGrid同时滚动,你可以用dataset的AfterScroll事件,当DBGridA的dataset记录移动时, DBGridB的dataset也移动至相对应的记录procedure ADOQuery1_BeforePost ( DataSet : TDataSet); begin end; 是在ADOQuery1或者相关联的DataSource的数据集改动后,在将改动保存到内存之前激发的事件,上次使用这个事件是用来判断修改之后的数据是否规范,如果不规范,就给出提示 示例如下: 要修改的列关联的Column 是Score procedure ADOQuery1_BeforePost ( DataSet : TDataSet);】 var score:string; begin score:=DataSet.FieldByName(‘score’).AsString; // 提取修改之后的数据 if (‘score不符合规则’) then self.msgWarning(‘’输入的数据有错); end; procedure ADOQuery1_AfterScroll (DataSet: TDataSet); begin
end;
是在点击与ADOQuery1相关联的DBGridEh1中的记录后激发的事件,可以用来做两个DBGridEh控件的关联事件。 如:点击DBGridEh1 中的记录1,在DBGridEh2中就显示记录1的详细信息(DBGridEh2与ADOQuery2相关联),(示例如下: procedure ADOQuery1_AfterScroll(DataSet: TDataSet); var sql: string; begin sql := ’ select * from tableneme where key = ’ ” + ADOQuery1.fieldbyname (‘ key ’).AsString + ” ’ ’ ADOQuery2.sql.Close; ADOQuery2.sql.Clear; ADOQuery2.sql.Add(sql); ADOQuery2.sql.Open; end;
delphi AfterScrol
本文介绍了在Delphi中如何利用ADOQuery组件的BeforePost和AfterScroll事件。BeforePost事件在数据集更改并保存到内存前触发,可用于验证数据规范性。示例展示了如何在Score列数据不合规时给出警告。AfterScroll事件则在DBGridEh滚动后触发,用于实现两个DBGridEh之间记录的联动,示例中展示了如何根据DBGridEh1选择的记录更新DBGridEh2的详细信息。


被折叠的 条评论
为什么被折叠?



