如何将报表用空行填满?打印总页数?分栏打印?(100分)

  • 主题发起人 主题发起人 mnmn
  • 开始时间 开始时间
M

mnmn

Unregistered / Unconfirmed
GUEST, unregistred user!
1.有的报表的记录少,记录完了报表就结束了,我想生成的报表能够
打满一页,空余的用空行填满,请问怎样做到?
2.另外,我想在每页上打出总页数,好不好做?
3.在quickrep中有个columns的值,是干什么用的?我想打印的表格是页面分成
左右两大列,将记录先在右列打印,右列打满了再打左列;用这个columns属性
设置能不能做到?如何做?
 
1、你用onneeddata事件,然后用循环就可以了,以前我就是这样做的,如果你有问题可Mail
给我,
2、完全可以做到,用一TQRLabel即可,要在onprint中处理一下。
3、我从未做过此问题,不过我想也可以通过去1来解决,不过那样肯定会很麻烦。
 
1.事件:QuickRep1.BeforePrint
for i:=1 to (QuickRep.RecordCount Mod 每页行数)do
begin
table.append;
table.fieldbyname('某一字段').asstring:='end';//或其它的标记,如果是索引字段则要小心不要产生重复
end;
预览打印完成后:
last;
while table.fieldbyname('某一字段').asstring:='end' then
delete;
2.好做,用QRSysData,Data属性设为QRSPageNumber;
3.columns设为一,在detaileBand上放并排两个QRDBText,第一个QRDBText的onprint
事件:
table.next;
 
1:你如用QUERY取数据,则大致如下:
现在DETAILBAND中放QRLABEL1;
在BEFOREPRINT中设i:=0,QUERY1.FIRST;
在ONNEEDDATA中:
if not query1.eof then
begin
QRLABEL1.Caption:=query1.Fields[0].asstring ;
query1.Next;
i:=i+1;
end
else
begin
QRLABEL1.Caption:='';
i:=i+1;
end;
moredata:= i <=页总行数 ;
 
2.好做,用QRSysData,Data属性设为QRSPageNumber;
这样求出的是当前页的页数,不是总页数.

总页数怎么得出?

 
不知我寄的邮件有没有替你解决一些问题?
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
930
DelphiTeacher的专栏
D
D
回复
0
查看
871
DelphiTeacher的专栏
D
D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
945
DelphiTeacher的专栏
D
后退
顶部