主从表显示正常,从表焦点只有第一条记录,不能移动。 在网上找了个方法把DATACONTROLLER中的GRIDMODE设为TRUE; 
试了一下,从表焦点可以移动,
但是新问题:从表不滤了,记录全部显示,即:主表任一条记录,从表的记录都是完全一样。 CXGRID的自带的DEMO可以移动焦点的,但是的DATACONTROLLER中的GRIDMODE确没有设置成true,我把它的CXGRID控件复制到我的程序中,只改了数据库连接。运行还是不行的。 望使用过这个控件的朋友帮忙下

解决方案 »

  1.   

    我也用cxgrid做过主从表的系统,没有楼主遇到楼主的问题,只是代码太大,没有法给你!
    我分析还是你写的程序问题,是否从表没有获得焦点?
      

  2.   


    我之前用过cxGrid做过主从表显示。由于手头上没有开发环境,只能凭经验回复。
    我觉得与DATACONTROLLER无关,印象中我首次做主从显示,从表也只能显示单条记录,但更改了一个配置项后,就可以显示多条记录并且移动焦点。好像是叫多记录匹配,MultiRecord。
    有机会找到开发环境,再帮LZ看看
      

  3.   

    用两个cds,主表一个,从表一个,设置从表cds的MasterSource为主表cds,设置IndexFieldNames和MasterFields分别为主从表相连接的字段
      

  4.   

    似乎理解错了……
    LZ说的是一个cxGrid中多个Level和TableView吗
      

  5.   

    我用的是ADOGuery 从表就一个Level现在从表显示正常就是焦点移动不了,网上有说是
    从表的数据源一定要按与主表关联的字段排序 因为我是ADOguery控件,所以在SQL语句中我用了order by userid 
    但是还是不能移动焦点,急死了,
      

  6.   

    设置cxgrid的主从表很简单,只需要设置好
    从表DBtableView2的keyfieldnames,DetailKeyFieldNames和MasterKeyFieldNames 就行啦,
    MasterKeyFieldNames为主表关联字段,
    DetailKeyFieldNames 为从表关联字段,
    keyfieldnames设置就是关键,这里应该设置的是从表主字段,而不是网上很多说的跟MasterKeyFieldNames字段一样. 
    主表DBtableView1的keyfieldnames可以不用设置.至于为什么 从表焦点只有第一条记录,不能移动呢?
    是因为从表的keyfieldnames设置不对.keyfieldnames的作用是指定从表查找记录的字段,
    当设置的与MasterKeyFieldNames字段一样时,从表该字段值都是一样的,从表查找记录时,只找到第一条记录,就认为找到记录了,所以出现从表焦点只有第一条记录,不能移动的情况.
    故 从表的keyfieldnames要设置为能唯一确定从表一行记录的字段,这一般为从表主键字段,当然从表某一字段不是主键,但能唯一确定从表一行记录的字段也行.
      

  7.   

    你们会不会从cxgrid输入数据插入数据库啊