我想在StringGrid里追加一行就是一个SQL查语句查出来的结果放到StringGrid里,
然后
再弄一个SQL查询语句查出来的只有一行结果再追加到上次查询的后面,
例如第一个查询出来的放到StringGrid里是
3  3   3  3
5  5   5  5
追加的一行是
6  6   6  6放在一起是
3  3   3  3
5  5   5  5
6  6   6  6
谢谢大家帮帮忙

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i,ii:integer;
    begin
    //增加一行可以这样
    ii:=StringGrid1.RowCount;
    StringGrid1.RowCount:=ii+1;
    for i:=0 to 3 do
       StringGrid1.Cells[i,ii]:='dddd';
    end;
      

  2.   

    var
      i, iRow: integer;
    begin
      iRow := StringGrid1.RowCount;
      //增加一行
      StringGrid1.RowCount := iRow + 1;
      for i := 0 to StringGrid1.ColCount - 1 do
        StringGrid1.Cells[i, iRow] := '6';
    end;
      

  3.   


    4楼这个方法够精简吧,这样的问题,也还来问题,你是不明白Cells的行列吧,在西方人的习惯中,一般是列在前,行在后是不是这个你弄不明白啊.
      

  4.   

          with tmp_qry do begin
            i:=dt_stg.RowCount;         //追加开始行
            dt_stg.RowCount:=dt_stg.RowCount+recordcount+1;
            first;
            while not(eof) do begin
               dt_stg.Cells[0,i]:=fieldbyname('a').AsString;
               dt_stg.cells[1,i]:=trim(fieldbyname('b').AsString);
               dt_stg.cells[2,i]:=trim(fieldbyname('c').AsString);
               dt_stg.cells[3,i]:=trim(fieldbyname('d').AsString);
               dt_stg.cells[4,i]:=trim(fieldbyname('e').AsString);
               //.......
               next;
               i:=i+1;
            end;
          end;