DBGRID1显示的是主表数据
GRID2显示的是从表数据怎么可以做到在GRID1上指针移动的时候,GRID2的数据随即更新出来
这样的效果是怎么做出来的
请指教

解决方案 »

  1.   

    在form上加一个timer组件,设置其interval为100,然后在timer的OnTimer事件中加入以下代码:
      form1.dbgrid1.datasource.dataset.recno;
      form1.dbgrid2.datasource.dataset.open;
      with form1.dbgrid2.datasource.dataet do
      locate('主从表关联的字段名',form1.dbgrid1.datasource.dataset.fieldvalue['主从表关联的字段名'],[])
      

  2.   

    如:主从表关联字段名为:str1
    主表:AdoQuery2   从表:AdoQuery1
    当点击主表时在其DBGrid1CellClick事件中
    AdoQuery1.close;
    AdoQuery1.SQL.Clear;
    AdoQuery1.Sql.Add('Select * From 从表 Where Str1='''+AdoQuery2.FieldByName('Str1').AsString+'''');
    AdoQuery1.Open;
    这样应该就能做到吧.