原来在qreport中的代码如下: procedure TForm4.SpeedButton3Click(Sender: TObject); var cols,rows:integer; ADataSet:TClientDataSet; begin ADataSet:=TClientDataSet.Create(Self); with ADataSet.FieldDefs do begin for cols:=0 to StringGrid1.ColCount-1 do begin Add('field'+IntToStr(cols),ftString,100,false); end; end; ADataSet.CreateDataSet; ADataSet.Open; for cols:=StringGrid1.RowCount-1 downto 1 do begin ADataSet.Insert; for rows:=0 to StringGrid1.ColCount-1 do begin ADataSet.FieldByName('field'+IntToStr(rows)).AsString:=StringGrid1.Cell[rows,cols]; end; ADataSet.Post; end; QR_MAIN.DataSet:=ADataSet; QR_MAIN.QRDBText1.DataSet:=ADataSet; QR_MAIN.QRDBText1.DataField:='FIELD4'; QR_MAIN.Preview; end; 我现在就想把这个移植到fast report中,但是原有思路不变(就是生成临时表,再进行打印),谢谢
procedure TForm4.SpeedButton3Click(Sender: TObject);
var
cols,rows:integer;
ADataSet:TClientDataSet;
begin
ADataSet:=TClientDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
for cols:=0 to StringGrid1.ColCount-1 do
begin
Add('field'+IntToStr(cols),ftString,100,false);
end;
end;
ADataSet.CreateDataSet;
ADataSet.Open;
for cols:=StringGrid1.RowCount-1 downto 1 do
begin
ADataSet.Insert;
for rows:=0 to StringGrid1.ColCount-1 do
begin
ADataSet.FieldByName('field'+IntToStr(rows)).AsString:=StringGrid1.Cell[rows,cols];
end;
ADataSet.Post;
end;
QR_MAIN.DataSet:=ADataSet;
QR_MAIN.QRDBText1.DataSet:=ADataSet;
QR_MAIN.QRDBText1.DataField:='FIELD4';
QR_MAIN.Preview;
end;
我现在就想把这个移植到fast report中,但是原有思路不变(就是生成临时表,再进行打印),谢谢