怎么把数据库中的字段添加到cxGrid1TableView1中?
 cxGrid1TableView1.DataController.Values[1,0] := ......

解决方案 »

  1.   

    TADOQuery和TDataSource連接好數據庫:
    1.
    [code=Delphi(Pascal)]cxGrid1DBTableView1Column1.DataBinding.FieldName:='CHK';
    2.cxgrid-->customize...-->Columns->add(如cxGrid1DBTableView1Column1)->DataBinding->FieldName(填寫數據庫字段名);[/code]
    3.打開:
    procedure TRes_Cq_QjSh_F.LoadHrdDatas;
    begin
      qry_approqj.Close;
      qry_approqj.SQL.Clear;
      qry_approqj.SQL.Add( ' select * from RES_HR_RSQJ where (FLAG=1 or FLAG=2) and SQRQ>=CONVERT(nvarchar(20),GETDATE(),111) Order by SQRQ,GH,ZXB,CBZX desc ' );
      qry_approqj.Open;
    end;
      

  2.   

    cxGrid1DBTableView1Column1.DataBinding.FieldName:='CHK';
      

  3.   

    不是DB是cxGrid1TableView1。不是直接可以绑定数据的表。
      

  4.   


    with adoquery1 do  
     begin
     close;
     sql.clear;
      sql.add('select * from xxx');
     end;
    if adoquery1.recordcount>0 then 
     begin
        cxGrid1TableView1.DataController.RecordCount:=3;
          for i:=0 to adoquery1.recordcount-1 do 
           begin
             cxGrid1TableView1.DataController.Values[i,0]:='11111';
             cxGrid1TableView1.DataController.Values[i,1]:='22222';
             cxGrid1TableView1.DataController.Values[i,2]:='113333111';
           end;
     end;
     
      

  5.   

     sSQL1:='select * from A';
       ADOQuery1.sql.Add(sSQL1);
       ADOQuery1.Open;
       if ADOQuery1.recordcount>0 then
       begin
         cxGrid1TableView1.DataController.RecordCount:=2;
         for i:=0 to ADOQuery1.RecordCount-1 do
           begin
             cxGrid1TableView1.DataController.Values[i,0]:=ADOQuery1.FieldByName('AAA').asstring;
             cxGrid1TableView1.DataController.Values[i,1]:=ADOQuery1.FieldByName('BBB').asstring;
           //  cxGrid1TableView1.DataController.Values[i,2]:='113333111';
           end;
     end;
      

  6.   

    路过,顺便提一下:
    在循环里边千万不要使用FieldByName, 效率奇差。
      

  7.   


    你这个让我汗颜了
    换成fieldbyname.asstring就可以了啊