我需向AdvStringGrid加载几列数据
开始没有问题,可是一循环判断就
无法正常显示
    while  (not dm.cds_temp1.Eof) and (j<21) do
    begin
          AdvStringGrid1.Cells[0,i]:=dm.cds_temp1.fieldbyname('para1').AsString;
          AdvStringGrid1.Cells[1,i]:=dm.cds_temp1.fieldbyname('para2').AsString;
          AdvStringGrid1.Cells[2,i]:=dm.cds_temp1.fieldbyname('para3').AsString;
          AdvStringGrid1.Cells[3,i]:=dm.cds_temp1.fieldbyname('para4').AsString;
          AdvStringGrid1.Cells[4,i]:=dm.cds_temp1.fieldbyname('para5').AsString;
          AdvStringGrid1.Cells[5,i]:=dm.cds_temp1.fieldbyname('sj').AsString;
          AdvStringGrid1.Cells[6,i]:=dm.cds_temp1.fieldbyname('zdbs').AsString;
          dm.cds_temp1.Next;
          i:=i+1;
    end;
         dm.cds_temp1.First;
         while  not dm.cds_temp1.Eof do
        begin
          AdvStringGrid1.Cells[7,i]:=dm.cds_temp1.fieldbyname('para1').AsString;
          AdvStringGrid1.Cells[8,i]:=dm.cds_temp1.fieldbyname('para2').AsString;
          AdvStringGrid1.Cells[9,i]:=dm.cds_temp1.fieldbyname('para3').AsString;
          AdvStringGrid1.Cells[10,i]:=dm.cds_temp1.fieldbyname('para4').AsString;
          AdvStringGrid1.Cells[11,i]:=dm.cds_temp1.fieldbyname('para5').AsString;
          AdvStringGrid1.Cells[12,i]:=dm.cds_temp1.fieldbyname('sj').AsString;
          AdvStringGrid1.Cells[13,i]:=dm.cds_temp1.fieldbyname('zdbs').AsString;
          dm.cds_temp1.Next;
          i:=i+1;
        end;
只能显示一个while语句的内容,打断点第二个循环可以进入,但就是不显示

解决方案 »

  1.   

    晕看了半天。。没看到什么问题
    是不是那个行数据记录的总数超过了AdvStringGrid你设置的总行数啊?
      

  2.   

    AdvStringGrid1.Cells[7,i]:=dm.cds_temp1.fieldbyname('para1').AsString;
              AdvStringGrid1.Cells[8,i]:=dm.cds_temp1.fieldbyname('para2').AsString;
              AdvStringGrid1.Cells[9,i]:=dm.cds_temp1.fieldbyname('para3').AsString;
              AdvStringGrid1.Cells[10,i]:=dm.cds_temp1.fieldbyname('para4').AsString;
              AdvStringGrid1.Cells[11,i]:=dm.cds_temp1.fieldbyname('para5').AsString;
              AdvStringGrid1.Cells[12,i]:=dm.cds_temp1.fieldbyname('sj').AsString;
              AdvStringGrid1.Cells[13,i]:=dm.cds_temp1.fieldbyname('zdbs').AsString;
    这里的代码执行,但是在页面上不显示
      

  3.   

    i:=9;
    dm.cds_temp1.First;
    while not dm.cds_temp1.Eof do
      

  4.   

    AdvStringGrid1.RowCount := dm.cds_temp1.RecordCount + 1
     while ....