我已经从窗体上的valuelisteditor生成了临时表(adataset)中,显示在一个dbgrid中很正常,但是qreport中预览和打印都是没有数据,我都琢磨了一天了也没找出来问题,高手帮我吧。!!!
源代码如下:
procedure TFmJGPrint.Button1Click(Sender: TObject);
var   
          i,j:integer;   
          ADataSet:TClientDataSet;
begin
          ADataSet:=TClientDataSet.Create(Self);
          with   ADataSet.FieldDefs   do
          begin   
                  for   i:=0   to   Mform.ValueListEditor1.ColCount-1   do
                  begin
                          Add(Mform.ValueListEditor1.Cells[i,0],ftString,16,False);
                  end;   
          end;
          ADataSet.CreateDataSet;          ADataSet.Open;
          for   i:=1   to   Mform.ValueListEditor1.RowCount-1   do
          begin
                  ADataSet.Append;
                  for   j:=0   to   Mform.ValueListEditor1.ColCount-1   do
                  begin
                    ADataSet.FieldByName(Mform.ValueListEditor1.Cells[j,0]).AsString:=
                          Mform.ValueListEditor1.Cells[j,i];
                  end;
                  ADataSet.Post;          end;
          DataSource1.DataSet:=ADAtaSet;
          self.QuickRep1.DataSet:=adataset;
          adataset.First;          self.db1.DataSet:=adataset;//db1,db2:TQRDBText;
          self.db2.DataSet:=adataset;
          self.db1.DataField:=adataset.Fields[0].AsString;
          self.db2.DataField:=adataset.Fields[1].AsString;
          //showmessage(inttostr(self.QuickRep1.RecordCount));
          self.QuickRep1.Preview;  //预览的时候只有两个列的名字(db1,db2)
          //ADataSet.Close;
          //ADataSet.Free;
end;

解决方案 »

  1.   

    加一个detail band要把field放在detail上
      

  2.   

    加一个detail band要把field放在detail上 
    band要关联数据集DataSet
      

  3.   

    我已经把field放在detail band中了,也设置了db1和db2的dataset属性了,
    现在我已经解决了,就是db1,db2不能设置它的datafield,程序就可以显示了另外发现:qreport的预览有时候乱七八糟的。非常不稳定。
      

  4.   

    现在发现,在运行的时候 预览会出现一个什么estackoverflow错误,啥意思?