动态生成quickRep报表的问题,大家帮帮忙看一看 &nbs

  • 主题发起人 主题发起人 ztaif
  • 开始时间 开始时间
Z

ztaif

Unregistered / Unconfirmed
GUEST, unregistred user!
动态生成quickRep报表的问题,大家帮帮忙看一看 (谁跟踪帮助我解决动态报表问题,加分500-1000) (30分)<br />现在需要动态的生成报表,我做了一个实验如下,可不能成功,请大家帮忙看一看
procedure TForm1.Button1Click(Sender: TObject);
var QuickRep1:TQuickRep;
QRBand1: TQRBand;
QRDBText1: TQRDBText;
begin
QuickRep1:=TQuickRep.Create(self);
Quickrep1.DataSet:=dbgrid1.DataSource.DataSet;
QRBand1:=Tqrband.Create(quickrep1);
qrband1.BandType:=rbDetail;
///这句出错了,问题在那里呢? 类型到底是什么呢?
qrdbtext1:=Tqrdbtext.Create(qrband1);
qrdbtext1.DataSet:=dbgrid1.DataSource.DataSet;
qrdbtext1.DataField:=dbgrid1.DataSource.DataSet.Fields[0].Name;
Quickrep1.Preview;
end;
 
在 uses 部分加入 QRPrntr 单元即可![:)]
 
现在可以让动态创建的 qrdbtext 和 qrlabel在创建的band上显示了,但定位成了问题,
大家帮帮我啊,定位怎么处理,我发现定位可能是一个很严重的问题了拉,快来啊,来者有分,另开贴放分
 
当然了,因为你是动态生成控件,你只能用程序来设置Left和Top属性来定位(为什么要报表要动态生成?)
with Tqrdbtext.Create(qrband1);
do
begin
parent:=qrband1;
left:=0;
top:=1;
DataSet:=dbgrid1.DataSource.DataSet;
DataField:=dbgrid1.DataSource.DataSet.Fields[0].Name;
end;
 
多人接受答案了。
 
后退
顶部