如何在 cxgrid用ADOQuery , DataSource 显示数据
用databinding的话,要一个个列去设置,很麻烦,能否根据QUERY结果自动生成列呢?

解决方案 »

  1.   

    cxg1DBTableView1.DataController.CreateAllItems,你试试
    在列设置界面上也应该有
      

  2.   

    cxGrid1DBTableView1.DataController.CreateAllItems;
    生成列的语句
      

  3.   

    列设置界面上有个retrieve fildes
      

  4.   


    这个在哪里哦?
    我是多个表联合查询的结果,直接点CreateAllItems不行呢
      

  5.   

    cxgrid控件左下方有'customize..'
    或者
    右键点击cxgrid控件上的cxGrid1DBTableView1,选择create all columns
      

  6.   

    1.ADOQuery.Active := True;
    2.Retrieve Fieldes
      

  7.   

    这个和你几个表无关,cxGrid是数据感知控件,只要你设置好对应的DataSource,写好Sql语句能够返回数据集对象(TADOQuery等)就可以。
        
    cxView.ClearItems;  
    cxView.DataController.CreateAllItems;  
      

  8.   

    我刚做过这个,你运气真好!
      CxgridDBTableView3.ClearItems;//这里是cxgrid的表层,先清除之前的列再创建
      for I:=0 to adoquery1.FieldCount-1 do
      begin
        CxgridDBTableView3.CreateColumn;
        CxgridDBTableView3.Columns[i].DataBinding.FieldName:=adoquery1.Fields[i].FieldName;
        CxgridDBTableView3.Columns[i].Width:=80;
      end;
      

  9.   

    原本用下面的语句可以返回找到符合条件的记录数
    label4.Caption:='共找到'+inttostr(adoquery1.RecordCount)+'条记录。';现在用了CXGRID的筛选后,怎么返筛选后的记录数呢?
      

  10.   

    应该可以取grid的行数,我之前好像也写过.但是现在想不起了.
      

  11.   


    cxGrid1DBTableView1.DataController.RowCount