有 俩个表,A,B。A和B是1:N的关系,显示A表的内容到DBGrid很简单,我现在要做的是:在DBGrid显示A表内容后,双击DBGrid上的某个记录,就可以把和这个记录向对应的B表中的内容显示到DBGrid上来,请问这个转换怎么做?

解决方案 »

  1.   

    使用ADOQuery1,DataSetProvider1,ClientDataSet1,DataSource1,DBGrid1
    显示A表数据你自己做了
    当想显示B表数据时,在DBGrid1的OnCellClick事件中写入:
    var
      sTxm : string;
    begin
      sTxm := ClientDataSet1.FieldByName('A表和B表关联的列名').AsString;
      with ClientDataSet1 do
      begin
        close;
        commandtext := 'select * from table where 列名 = '''+sTxm+'''';
        open;
      end;
    end;
      

  2.   

    commandtext 
    提示不能修改
    呵呵
      

  3.   

    .....你连DataSetProvider1,ClientDataSet1都没用过???
    算了,你这样改,只使用Tadoquery和DataSource1,DBGrid1行了
    先实现显示A表的功能
    然后在DBGrid1的OnCellClick事件中写入:
    var
      sTxm : string;
    begin
      sTxm := adoquery1.FieldByName('A表和B表关联的列名').AsString;
      with with do
      begin
        close;
        sql.clear;
        sql.text := 'select * from table where 列名 = '''+sTxm+'''';
        open;
      end;
    end;
      

  4.   

    with with do打错了,应该是with adoquery1 do
      

  5.   

    DataSetProvider1,ClientDataSet1
    我没有用过刚开始接触D6
      

  6.   

    谢谢  qzmp_sc(你是白云~我是乌鸦) 
    :    
     hwxnhk0326(殺殺人,灌灌水) ( 
      

  7.   

    你的意思是要将两个结果集的内容显示到一个dbgrid中?那样就是关联查询啊?根据你选择的内容重新做一次查询?问题描述的不清楚,最好做一个图例 大家才可以帮你解决问题
      

  8.   


    好的
    A,B。A和B是1:N的关系,可以级联删除,更新,首先显示A表的内容到DBGrid,我现在要做的是:在DBGrid显示A表内容后,双击DBGrid上A表的某个记录,就可以把和这个记录向对应的B表中的内容显示到DBGrid上来,开始在DBGrid显示的A表的内容不在显示,而是显示B表中和A表相对应的内容。请问这个转换怎么做
      

  9.   

    DBGrid显示隶属关系?就像树形结构那样,比如省下面是该省的市,市下面是该市的县.
      

  10.   

    楼主的意思是:?
    A表正常显示在DBGrid:
    ID  Name    
    6   Joe     
    7   Mary    
    8   John    当前"双击"ID为7的这一行则显示为:
    ID  Name    
    6   Joe     
    7   Mary    
        ID Item  Books   
        7  1     Book1   
        7  2     Book2   
        7  3     Book3   
    8   John    
    是这个效果吧?哈哈...可惜DBGrid没法实现,推荐你用InfoPower控件,完全可以实现这个功能!!!
      

  11.   


    这样啊
    这样能实现吗?
    当前"双击"ID为7的这一行则显示为(B表中内容):
      
        ID Item  Books   
        7  1     Book1   
        7  2     Book2   
        7  3     Book3   A表显示在DBGrid:
    ID  Name    
    6   Joe     
    7   Mary    
    8   John 
    的 这些就不显示了。