两个dbgrid,用adotable连接两张sql里的表,两张表里有一个字段恒等
怎么能做到,一个dbgrid中移动指针时,另一个跟着移动到该字段相等的记录上去?

解决方案 »

  1.   

    adotable1的afterscroll事件里执行adotable2.locate()事件就可以了
      

  2.   

    同楼上
    或者
    主从关系
    adoTable2.MasterSource:=DataSource1;
    然后在adoTable2的MasterFields设置一下
    很直观的
      

  3.   

    adotable1.Book:=adotable2.Book;
    或者adotable2.Book:=adotable1.Book;阿
    这很简单嘛
      

  4.   

    to :wangzhexuan(郭庶民) 
    这样是可以,我用了一个timer控件,写入上述代码
    但是,当我改动了两个表中记录时,按下“查看待更新记录”按钮时出错
    其中代码如下:
    ADOTable1.Filtered := true;
      ADOTable1.FilterGroup := fgpendingrecords;  ADOTable2.Filtered := true;
      ADOTable2.FilterGroup := fgpendingrecords;
    主要是与timer控件里的代码矛盾了,这可怎么办?
      

  5.   

    这样吧:在timer里写
    if adotable2.Filtered=false then
        adotable2.Book:=adotable1.Book;
    因为你按下“查看待更新记录”按钮后肯定要进行下一步处理,比如进行数据更新等等,你可以在那个时候再把fitered属性设为true
    这样应该可以的
      

  6.   

    即然是这样的话,就在Table1的Afterscroll事件中用Locate()吧!
      

  7.   

    我把两个表做了一个查询用一个TClientDataSet,然后用两个Dbgrid显示该TClientDataSet的不同部分(与SQL中的表对应),只是update麻烦一些。
      

  8.   

    只要是什么locate、filter,用了以后就显示不了全部记录了!
      

  9.   

    同意楼上的,只能用 wangzhexuan(郭庶民) 的代码了
    谢谢