我在FormCreate中创建了一个
TC:=TClientData.Create(Self);
TD:=TDataSource.Create(Self);
然后在查询后数据赋给TC;
再把数据源 TD 的 DataSet 属性指定为 TC;
之后把 TD 指定给一个 DBGrid 显示出数据,现在我要增加一个在表格中记录指针变动后需做些处理。
好像是要用 TC.AfterScroll 事件,不过这个 TC 是动态创建的,我怎么写代码到这个事件中?

解决方案 »

  1.   

    自己定义一个afterscroll过程,比如MyScroll,参数和数据集的AfterScroll参数一致创建TC时,TC.OnAfterScroll := MyScroll
      

  2.   

    我直接写一个过程,但是提示 FindComponent 这个用不了,后来我把过程放到 form 窗口定义中的 Private 下面,
    结果赋值
    DBGridEh1.DataSource.DataSet.AfterScroll:=过程名;
    但是说类型不对....
      

  3.   

    你要和标准的afterscroll声明完全一样才行,名称可以不一样procedure MyScroll(DataSet: TDataSet);赋值ADOQuery1.AfterScroll := MyScroll;