DataSet中的当前记录发生改变之后,DBGRID前面的小黑三角会跟随DataSet中的当前记录的改变而移动问:DBGRID是 如何 通过什么事件 获取DataSet的当前记录的改变 并对小黑三角的位置进行重新绘制的?或者是TCustomGrid(还是别的什么GRID控件)中的哪个事件来进行处理的?

解决方案 »

  1.   

    数据集有个AfterScroll事件
    procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
    beginend;
      

  2.   

    对阿,但是这个事件是如何传递给DBGRID的哪?或者内部调用了DBGRID的什么方法?不可能DataSet直接就绘制DBGRID吧
    我想要知道内部是如何处理的
      

  3.   

    你可能要研究一下DBGRID的源码了...
      

  4.   

    我就是在看GRIDS.Utils啊,就是太多了,头都看大了,只要知道是哪个事件方法就好了
    好烦啊 好烦啊。。
      

  5.   

    这个可能在TGridDataLink和TDataLink处理通信的。
      

  6.   

    procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
    beginend;procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    beginend;