将查出来的数据赋给StringGrid,显示效果跟DBGrid类似.怎么做?

解决方案 »

  1.   

    试试,老早做的一个小例程。
    procedure TForm1.Button1Click(Sender: TObject);
    var
      JiLushu,ZiDuanShu:integer;
      rowcnt,colcnt:integer;
    begin
       //记录数
      JiLushu :=ClientDataSetP.RecordCount ;//ClientDataSetP你的数据集
       //字段数
      ZiDuanShu :=ClientDataSetP.FieldCount ;  StringGrid1.RowCount:=rowc+1 ;//stringgrid行数
      StringGrid1.ColCount:=colc+1;/stringgrid列数
      ClientDataSetP.First;
      rowcnt :=0;
      while not ClientDataSetP.eof do
      begin
        for colcnt:=0  to colc-1 do
          StringGrid1.Cells[ colcnt+1,rowcnt+1]:=ClientDataSetP.fields[colcnt].AsString;  //获得第一条记录的各字段值
          rowcnt :=rowcnt+1;
          ClientDataSetP.Next;
      end;
    end;
      

  2.   

    Query1.first;
    i:=0;
    while not Query1.Eof do
    begin
      for j:=0 to Query1.FieldCount-1 do
        StringGrid1.cells[j,i]:=Query1.Fields[j].AsString;
      Query1.Next;
      i:=i+1;
    end;