我现在有一个表(记住只有一个)
大概有20个字段
放置了两个DBGrid和若干个DBEdit
现在我的要求就是当选择DBGrid1的一条记录时,对应的指向DBGrid2的那条记录的另一部分
同时
DBEdit中的内容也是动态的随着变
还有就是我滚动DBGrid1时,怎样保持DBGrid2和DBEdit同步?
DBGrid1和DBGrid2之间无关联字段,他们和DBEdit都是一条记录的一部分

解决方案 »

  1.   

    一个DBGrid显示不下20个字段吗?为什么要用两个?无论几个DB感知组件,共同都是指向的同一个数据集!本身的纪录指针就是同步的!
      

  2.   

    不是的
    是我在做一个类似财务管理的
    虽然是在一个表中
    但是有一些是主要数据
    一些是详细数据
    我现在想知道的是,
    是不是只要我打开数据集就可以了
    那当我用鼠标滚动DBGrid1时,DBGrid2的记录会不会跟着滚动
    DBEdit的内容会不会动态变化
    这些时要写代码实现吗?
      

  3.   

    在一个表中, 虽然在两个不同DBGrid中 ,只要打开了数据集DBGrid1和DBGrid2是会同步的;
          DBEdit的内容也会同步动态变化的;
      

  4.   

    >>还有就是我滚动DBGrid1时,怎样保持DBGrid2和DBEdit同步?對應到同一個 dataSource ??
      

  5.   

    >>还有就是我滚动DBGrid1时,怎样保持DBGrid2和DBEdit同步?對應到同一個 dataSource ??是的
    是对应到同一个dataSource
    敢问版主的意见是什么,谢谢指点!
      

  6.   

    对应到同一个DataSource就会同时滚动了,不用设置。如果你发现没有同时滚动,那么检查下是否设置到同一个Datasource了
      

  7.   

    那如果我现在用了两个
    ADOQUERY

    DATASOURCE
    呢?
      

  8.   

    把DBGrid2的aling 的值设为alClient.
      

  9.   

    楼上的有几位朋友怎么那么不负责任呢?从一开始我就说了,只要连接到同一个DataSet(数据集)就可以自动同步的,因为DBGrid的纪录指针是和纪录集的指针同步的,当然,我的前提是没有Filter的情况下,根本和是否在同一个DataSource(数据源)上没有多大的关联!
      

  10.   

    错了!应该和Filter也没有多大关系!因为这个是应用在DataSet上的属性!糊涂!差点误人误己!
      

  11.   

    使用同一个 DataSet 应该都是一样的啊
      

  12.   

    to gobiz :勿急勿燥,呵呵
      

  13.   

    这个问题没必要搞那么复杂,是楼主还没搞清楚数据感知控件的原理。只要dbgrid和dbedit们都指向同一个datasource,那他们就会同时向这个datasource取相同的一条记录来显示,不同的是dbgrid可以显示多个字段,而dbedit只能显示一个字段,所以它们是同步的,根本不用写代码。
      

  14.   

    只要把这些DBGRID和DBEDIT指向同个datasource就可以了
      

  15.   

    to :
     victor_yang(victoryang) ( ) 信誉:98 基本讲清了原理,同意。