打印的两个挠头问题,200分!!!!!(200分)

  • 主题发起人 主题发起人 jamebo
  • 开始时间 开始时间
J

jamebo

Unregistered / Unconfirmed
GUEST, unregistred user!
1.用quickreport,怎样打印出总页数
2.数据库表格打印,并且一页没有打完
怎样将剩余部分用空格显示
(因为qreport好象是打印到数据库结束便结束
而在实际要求中往往需要把剩余页面用空表格填补满)
 
拦onstartpage,计数再打印
 
但是在打印Preview中没法显示总页数
 
不自动从数据库取数据,自己手工提供数据,在 OnNeedData 事件
 
1. 以下程序可以这样得到总页数,并在Preview中显示,但数据较多时,可能
在Preview之前需要等待一会:

procedure TForm1.Button1Click(Sender: TObject);
begin

QuickReport1.Prepare;
//必须
QuickReport1.QRLabel1.Caption := IntToStr(QuickReport1.QRPrinter.PageCount);
//此处得到总页数
QuickReport1.Preview;
end;


2. 将表格先画好,作为背景即可
 
将表格先画好,作为背景即可
能不能具体一些
 
在报表上先用线条画好你想输出的表格样式,如:

*----+----+----------+--------*
|姓名|性别| 单 位 | 工资 |
*----+----+----------+--------*
| | | | |
*----+----+----------+--------*
| | | | |
*----+----+----------+--------*
....//若干行
| | | | |
*----+----+----------+--------*

然后再放上各个Band,在Detail中只用QRDBText等输出数据即可,
当然你应该调整Band的高度使各行数据与各表格对应上,对于每
页输出的行数,你可根据表格的行来控制,具体办法见我以前的
回答。

从理论上(From Qusoft)应该可以用Send to Back 和Bring to Front
来控制各QR控件的层数,如用一个QRImage作为背景,但我发现我的QR
无法实现(看来要请教pipi.,他可是QR高手),所以画表时应使用qrsVertLine、
qrsHorLine,而不要用qrsRectangle等,否则会挡住数据。

嘿嘿,太麻烦了吧?所以我推荐Pipi.的办法:
不自动从数据库取数据,自己手工提供数据,在 OnNeedData 事件中处理
参见http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=199393
 
问题是表格内容太多,如果完全手工输入
可能要处理上百个数据赋值
 
复杂表的打印最好用EXCEL
 
自己提供数据也不是要一个一个提供几百个啊,
它是每一行调用一次 OnNeedData ,你只需要编程写一行的内容就可以(每行都一样
的赋值)
 
1。总数你可以根据你纪录总数计算出来,因为你自己
最清楚没页最多打几行。
2。现在有一个qreport3.05 for delphi5,安装完之后
就有一个loopband控件可以解决你的问题。
 
2> 设置 PrintIfEmpty := True
 
1、
QuickReport1.Prepare;
//必须
QuickReport1.QRLabel1.Caption := IntToStr(QuickReport1.QRPrinter.PageCount);
//此处得到总页数
QuickReport1.CleaUp;// 2000-6-1
QuickReport1.Preview

 
procedure TForm1.Button1Click(Sender: TObject);
begin

QuickReport1.Prepare;
//必须
QuickReport1.QRLabel1.Caption := IntToStr(QuickReport1.QRPrinter.PageCount);
//此处得到总页数
QuickReport1.Preview;
end;


我这样做了,可是没有得到总页数,总页数显示总是0,并且当在应用程序
第二次调用报表时,Delphi提示,参数错误,程序指在QuickReport1.Prepare;
这一行上.
 
您的版本是多少?我的D3(C/S),D5(Midas)都是可以的.
 
多人接受答案了。
 

Similar threads

后退
顶部