记录写入cxgrid,cxGrid里面却只有内容空白的格子,数据都是空白代码:
  if lstResult.Count <= 0 then
  begin
    sgResultDBTableView1.DataController.RecordCount := 1;
  end
  else begin
    sgResultDBTableView1.DataController.RecordCount := lstResult.Count;
    for intForLoop := 0 to lstResult.Count - 1 do
    begin
      pStorageFind := lstResult.Items[intForLoop]; 
      sgResultDBTableView1.DataController.Values[intForLoop,0] := pStorageFind^.BillNo;
      sgResultDBTableView1.DataController.Values[intForLoop,1] := pStorageFind^.TrafNo;
      sgResultDBTableView1.DataController.Values[intForLoop,2] := pStorageFind^.PIECE;
      sgResultDBTableView1.DataController.Values[intForLoop,3] := pStorageFind^.GROSSWEIGHT;
      sgResultDBTableView1.DataController.Values[intForLoop,4] := pStorageFind^.DISCHARGEPLACE;
      sgResultDBTableView1.DataController.Values[intForLoop,5] := pStorageFind^.IEDATE;
      sgResultDBTableView1.DataController.Values[intForLoop,6] := pStorageFind^.Status;
      sgResultDBTableView1.DataController.Values[intForLoop,7] := pStorageFind^.operdate;
      sgResultDBTableView1.DataController.Values[intForLoop,8] := pStorageFind^.transmit;
      sgResultDBTableView1.DataController.Values[intForLoop,9] := pStorageFind^.GOODSNAME;
      sgResultDBTableView1.DataController.Values[intForLoop,10] := pStorageFind^.collector;
      sgResultDBTableView1.DataController.Values[intForLoop,11] := pStorageFind^.SHIPID;
      sgResultDBTableView1.DataController.Values[intForLoop,12] := pStorageFind^.LOADINGPORT;
      sgResultDBTableView1.DataController.Values[intForLoop,13] := pStorageFind^.NOTES;
    end;                                        
  end;进过单步调试,pStorageFind的各个属性都是有值的,可就是cxgrid中显示不出来,初次使用cxgrid控件,不知道是不是哪里设置错了,还是什么原因,大家来说说看.

解决方案 »

  1.   

    这个cxgrid不是连接数据库用的,是直接写入记录的.哪位知道是什么原因,一般向cxgrid中写数据,大家都是怎么写的呢?
      

  2.   

    sgResultDBTableView1里面的数据是不断刷新的,它取值是从DataSource的DataSet结果集取值的
    ,你赋值给它是没用的
    你用sgResultTableView1就是不要连接DataSource的cxGridTableView试一试
      

  3.   

    如果只是写入数据,也可以用配套控件cxTreeList
    var
        Node:TcxTreeListNode;
        i:integer;
    begin
        for i:=0 to MydataList.count -1 do
        begin
          pStorageFind:=Mydatalist.item[i];
          Node:=TreeList1.add;
          Node.values[0]:=pStorageFind^.BillNo;
          Node.values[0]:=pStorageFind^.TrafNo;
          ...
        end
    end;
      

  4.   

    To  Sorder(剑客) :
    我用了cxGridTableView,可还是不显示数据,郁闷啊...
      

  5.   

    直接写入记录用cxGrid1自带的cxGrid1DBTableView1不行,因为cxGrid1DBTableView1不能离开数
    据源(DataSource),双击cxGrid删除原有的cxGrid1DBTableView1:Create View--->table 创建cxGrid1TableView1,cxGrid1TableView1是专门针对不连接数据集写入数据的。
      

  6.   

    我是改用了cxGridTableView,可还是不显示数据
      

  7.   

    一般向cxgrid中写数据,大家都是怎么写的呢?
      

  8.   

    问题已经解决了,是要设置字段的数据类型,比如:  sgResultTableView1Column1.DataBinding.ValueTypeClass := TcxStringValueType;:)