form中有两个dbgrid分别对应两个表,两个表有一个相同的字段,要求两个dbgrid分别显示各自表的纪录,但当其中一个表中某个纪录处于被选中时,另一个dbgrid中与他相同字段的那条纪录同时自动处于选中状态.
如:相同字段为name,当dbgrid1中name为'李华'的那条纪录被选中时,要求dbgrid2中
name也为'李华'的那条纪录同时处于选中状态.
用主从表好像不满足要求.补充补充补充补充补充补充补充!!!!!!!前提条件:要求两个dbgrid对应的两个表格的纪录在dbgrid中始终全部显示,只是两个纪录指针以字段name同步移动.
两个表中的同名的记录是只有一条

解决方案 »

  1.   

    那就用locate定位阿;
    ADOQuery1.Locate('Company;Contact;Phone', 
          VarArrayOf([ADOQuery1.fieldbyname('').asstring, 
          ADOQuery1.fieldbyname('').asstring, 
          ADOQuery1.fieldbyname('').asstring]), [loPartialKey]);
      

  2.   

    楼上的有点bug,是两个不同的dataset,如果是同一dataset就不用做任何处理了用locate定位确实就可以了在dataset1的AfterScroll事件中写代码,locate定位dataset2即可
      

  3.   

    支持楼上:
    dataset1的afterscroll事件:
    dataset2。locate(‘name’,dataset1。fieldbyname(‘name’)。asstring,[locaseinsensitive]);