myamanda

博客园 首页 新随笔 联系 订阅 管理

---- 首先,建立form1;unit1(调用窗体),其中放入button1:caption为‘预览’,用以查看报表,再加入label1:caption为‘报表标题’;edit1用以接收用户输入的标题。再建立form2(放置quickreport元件的窗体),其中放入quickrep元件和三个qrband元件,其bandtype分别为rbTitle,rbColumnHeader,rbDetail.但其中无须放入qrlabel和qrdbtext元件,由程序中自动生成。再在form2;unit2中放入table1,table2。在databasename属性中填入数据库所在的Alias Name.在tablename中分别填入Goods,TableInformation.其中Goods中存放商品信息,可以设置以下字段:ID;Name;Unit;Price。TableInformation中的字段为TableName; FieldsName; DisplayName数据库中填入以下信息。

<br><br>Goods ID 商品编号<br><br>Goods Name 商品名称 <br><br>Goods Price 商品单价 好了,准备工作完成了一半,现在写入代码。在unit1的implementation下写入uses Unit2;在button1的click事件中写入以下代码:

<br />

<br><br>在unit1中添加一个过程PreparePrint;<br><br><br><br>procedure TForm1.PreparePrint<br><br>; var LeftValue:integer; <br><br>aLabel : TQRLabel;<br><br>aText:TQRDBText; <br><br>begin LeftValue:=100;<br><br>with Form2 do<br><br>begin aLabel := TQRLabel.Create(Form2); '设置标题 <br><br>aLabel.Parent := TitleBand1;<br><br>with aLabel do <br><br>begin Width:=300;<br><br>Height:=TitleBand1.Height;<br><br>Alignment:=taCenter;<br><br>Caption := Edit1.Text;<br><br>end;<br><br>Table1.Open; <br><br>Table2.Open;<br><br>Table2.First;<br><br>while not Table2.EOF <br><br>do begin<br><br>aLabel := TQRLabel.Create(Form2); ’设置显示字段标题 <br><br>aLabel.Parent := HeaderBand1;<br><br>with aLabel do <br><br>begin AutoSize:=False;<br><br>AutoStretch:=True;<br><br>Left :=LeftValue; <br><br>Top := 0; <br><br>Width:=80; <br><br>Height:=HeaderBand1.Height;<br><br>Alignment:=taCenter;<br><br>Caption := ' '+table2.FieldbyName( 'DisplayName').AsString+' ';<br><br>end;<br><br>aText := TQRDBText.Create(Form2); '设置显示字段内容 <br><br>aText.Parent := DetailBand1;<br><br>with aText do <br><br>begin AutoSize:=False; <br><br>AutoStretch:=True;<br><br>Height:=DetailBand1.Height;<br><br>DataSet:=Table1;<br><br>DataField:=Table2.FieldbyName( 'FieldsName').AsString;<br><br>Alignment:=taCenter; <br><br>end;<br><br>LeftValue:=LeftValue+80;<br><br>Table2.Next;<br><br>end; <br><br>end;<br><br>end;

posted on 2009-09-22 14:30  myamanda  阅读(228)  评论(0编辑  收藏  举报