|姓名|年龄|..._________________________|
|____|____|____________________________|
|____|____|____________________________|
请问我实现以上表格(固定共有6行),在quickreport里如果在detail里加入数据连接控件,那么所能实现的是数据集里有2行数据那么就只能打出2行数据和表格,有3个数据打三行,如何实现不管动态的数据是几行,表格固定是6行,不足6行数据就空几行,超过行就分页.如果将表格画好,静态是可以,那么动态显示数据就不行,请问如何解决,谢谢!!!
|____|____|____________________________|
|____|____|____________________________|
请问我实现以上表格(固定共有6行),在quickreport里如果在detail里加入数据连接控件,那么所能实现的是数据集里有2行数据那么就只能打出2行数据和表格,有3个数据打三行,如何实现不管动态的数据是几行,表格固定是6行,不足6行数据就空几行,超过行就分页.如果将表格画好,静态是可以,那么动态显示数据就不行,请问如何解决,谢谢!!!
解决方案 »
- 2进制文件的一个问题
- delphi语句有问题 请高手帮忙!!!
- 帮忙看一下,我都发出几个小时了…… http://expert.csdn.net/Expert/topic/2937/2937501.xml?temp=.1551935
- 帮我分析一下下面的程序到底哪里有问题(有关TTreeView)
- 高分求助,简单问题.来者有分!!
- treeview的问题,急!
- 使用delphi调用网站的asp的问题
- ●矢量绘图控件,并附源码,欢迎手头上有类似程序的软件开发者和本人联系交换●
- 奇怪!~ 为什么没钱了通过新浪还可以发短信信? 他们不是同一个网?
- Delphi开发了一个三层结构程序中的刷新问题
- 从某个网站上下载一个文件。
- 在哪里能够找到Delphi中完整的类继承图(类似二叉树)?
事件结合即可实现你的目的
inc(i);//i是一個全局變量
//qr不要設置dataset(即為空),BeforePrin裡面dataset.first;//設置為第一記錄
//在onneeddata裡面,
//因為以前搞過,都過了比較久了,你試試看看行不行
if not ADOQuery1.Eof then
begin
QRLabel2.Caption:=ADOQuery1.Fields[1].AsString;
QRLabel3.Caption:=ADOQuery1.FieldByName('SL').AsString;//+ADOQuery1.FieldByName('DW').AsString;
ADOQuery1.Next; if i<=20 then
MoreData:=true
else
begin
QuickRep1.NewColumn;
i:=0;
MoreData:=true;
end;
end
else
begin
QRLabel2.Caption:='';
QRLabel3.CaptioN:=''; if i=20 then
MoreData:=false;
end;
心上代码仅供参考
固定的表格画好,那数据肯定不能放在detail里面了,不然动态数据生成,表格肯定变形,是不是有添加空记录的方法实现确定表格为6行
生成表格;quickrep1.newcolumn是换页,MOREDATA是
QR的参数,你在QR的事件中找找,这种问题我早就解决了。
还有分页问题:
我在quickreport的onneeddata事件里写的
procedure Tqrep.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
if dm1.q_tempsell.RecordCount>=6 then
quickrep1.Printer.NewPage
end;
不起作用啊,当我输入大于6条记录时,在打印预览里看到的还是一页显示啊
procedure Tqrep.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
begin
if dm1.q_tempsell.RecordCount>=6 then
quickrep1.Printer.NewPage
end;
不起作用啊,当我输入大于6条记录时,在打印预览里看到的还是一页显示啊