先创建一个报表窗体:repform,放好QuickRep和band.然后 Procedure TMainForm.AddLab(NewField:TColumn;var x,y:Integer); var QText:TQRLabel; QDBText:TQRDBText; Begin QText:=TQRlabel.create(self); QText.caption:=NewField.title.Caption; QText.parent:=repform.columnband; QDBText:=TQRDBText.create(self); QDBText.parent:=repform.detailband; QDBText.dataset:=mainform.gridtb; QDbText.datafield:=newfield.FieldName ; QText.left:=x; QDbText.left:=x; x:=x+newfield.width; //repform. End;procedure Tmainform.Button1Click(Sender: TObject); var I:Integer; QTop,Qleft:Integer; begin Qleft:=0; Qtop:=0; for i:=0 to MyDBgrid.columns.count-1 do Begin AddLab(MyDbgrid.columns[i],QTop,QLeft); End; repform.QuickRep.preview; end;
Procedure TMainForm.AddLab(NewField:TColumn;var x,y:Integer);
var
QText:TQRLabel;
QDBText:TQRDBText;
Begin QText:=TQRlabel.create(self);
QText.caption:=NewField.title.Caption;
QText.parent:=repform.columnband; QDBText:=TQRDBText.create(self);
QDBText.parent:=repform.detailband;
QDBText.dataset:=mainform.gridtb;
QDbText.datafield:=newfield.FieldName ; QText.left:=x;
QDbText.left:=x;
x:=x+newfield.width;
//repform.
End;procedure Tmainform.Button1Click(Sender: TObject);
var
I:Integer;
QTop,Qleft:Integer;
begin
Qleft:=0;
Qtop:=0;
for i:=0 to MyDBgrid.columns.count-1 do
Begin
AddLab(MyDbgrid.columns[i],QTop,QLeft);
End;
repform.QuickRep.preview;
end;