估计是你那个i的初值有问题,可能一开始它就大于7了,你应该在打印前把它置成0。其实有更简便的办法不用变量的,用这一句就行了——
if QuickRep1.RecordNumber mod 7 = 0 then QuickRep1.NewPage;
if QuickRep1.RecordNumber mod 7 = 0 then QuickRep1.NewPage;
解决方案 »
- 求助,delphi中if else
- 怎么给sql语句断句啊?
- 关于剪贴板的操作
- 辞职!散分!
- 如何在动态生成的控件(richedit)上面,放一个图片控件.(要求图片要显示在richedit上),请问解决.
- 如何在access中动态创建表?
- 关于WebBrowser文档保存的问题
- 《delphi5开发人员指南》书上的代码在什么地方可以下载
- 我买了个硬盘,可是。。,帮帮我吧,很急啊
- 请问我想控制一个外部程序的按钮,比如有一个游戏要我不停地点鼠标左键,我的鼠标左键不灵,我想用键盘上的回车键来代替鼠标左键,请问如
- ****如何用QuickReport把Memo字段打印出来****
- Install Shield For Dephi
我发现我的报表能进行分页,但我有
本业小计和页脚同时存在,应该怎样设计?
而且我的页脚想跟在数据后面,不能离开太远
像下面: 产品销售报表 1/2页产品名称 销售额 产品名称 销售额
电视机 100 收音机 200
冰箱 400 洗衣机 600 本页合计 1,300 (如何显示?现在显示不了)
单位:AAA 填开人:Zilo (每页离开太远?)
产品销售报表 2/2 页产品名称 销售额 产品名称 销售额
自行车 150 录相机 1500
熨斗 450 VCD机 600
本页合计 2,700
总 计 4,000 (末页才有?)
单位:AAA 填开人:Zilo (离开太远?)怎样解决这问题?
你用的哪种方法?如果是你一开始的用法,还是得仔细看看那个i的值到底是如何变化的,你试的时候有没有试过第一次就进行预览而不是打印?(我怀疑你是先打印过一次之后i的值没有重置)先解决你上一个问题吧。可以用ChildBand来处理,不要用PageFooter或是SummaryBand。
给DetailBand加一个ChildBand,名为ChildBand1,作为本页合计;
给ChildBand1再加一个ChildBand2,作总计用;
再给ChildBand2加一个ChildBand3,作页脚。你看一下下面的代码应该就明白怎么做了,注意为了简便,我把ChildBand1的BeforePrint事件指向了ChildBand3的BeforePrint事件。也就是说你只要控制住每个Band打印的时机就可以了。procedure TForm1.ChildBand2BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
PrintBand := QuickRep1.RecordNumber = QuickRep1.RecordCount;//全部记录打印完毕
end;procedure TForm1.ChildBand3BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
PrintBand := (QuickRep1.RecordNumber mod 7 = 0)//这里还是假定每页打7条记录
or (QuickRep1.RecordNumber = QuickRep1.RecordCount);
end;procedure TForm1.ChildBand3AfterPrint(Sender: TQRCustomBand;
BandPrinted: Boolean);
begin
if BandPrinted and (QuickRep1.RecordNumber < QuickRep1.RecordCount) then QuickRep1.NewPage;
end;