请教:报表尾标注跟随问题,谢谢!(200分)

  • 主题发起人 主题发起人 zfmich
  • 开始时间 开始时间
Z

zfmich

Unregistered / Unconfirmed
GUEST, unregistred user!
以下为LIULY的方法:
来自:liuly, 时间:2000-9-30 0:36:00, ID:352888
1、
如果“报表人、报表日期”等只需打印在最后一页,放在SummaryBand中即可;
如果每页都要打印,可以这样处理,可能很笨,但是可以解决问题:
用一个SummaryBand和一个PageFooterBand,分别放上相同的“报表人、报表日期”等
项目,然后:
procedure TQuickReport2.QuickReport2BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
QRBand3.Enabled := True;
//SummaryBand
QRBand5.Enabled := True;
//PageFooterBand
end;

procedure TQuickReport2.QRBand3BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
QRBand5.Enabled := False;
//PageFooterBand
end;

但是,现在碰到的问题是,我要同时打印多个单位的数据,而且是按单位分页,这样除了最后一页外,其他单位的尾标注还是在最下面,而不能跟随在数据的后面。不知如何能解决这个问题,还望赐教,谢谢!
BTW:不知LIULY有没有碰到这种问题。。。
 
1、在QR中放入DETAILBAND、PAGEFOOTER等BAND,在DETAILBAND中内容结束后
(即要打印内容后面)放入QRLABEL,用来显示第**页共**页;PAGEFOOTER
中为空;
2、在QRBEFOREPRINT事件中将QRLABEL的ENABLE设为FALSE;调整DETAILBAND
的高度,使打印内容之间没有空格;
3、在PAGEFOOTER的BEFOREPRINT事件中设定QRLABEL的ENABLE设为TRUE,这样
第**页共**页就紧跟打印内容了,当然你也可以在QLABEL中显示页合计、累计
等内容,不知我讲的是否清楚,你可试一下。
这是我原来用的方法,现在用FR2.5
 

用 rbGroupFooter 做
 
BandType = rbGroupFooter

object QRBand2: TQRBand
Left = 38
Top = 38
Width = 718
Height = 40
Frame.Color = clBlack
Frame.DrawTop = False
Frame.DrawBottom = False
Frame.DrawLeft = False
Frame.DrawRight = False
AlignToBottom = False
Color = clWhite
ForceNewColumn = False
ForceNewPage = False
Size.Values = (
105.833333333333
1899.70833333333)
BandType = rbGroupFooter
end
 
我做过这方面的,放一个QRSubDetail,然后在上面放入尾标注需要打印的内容
procedure TForm1.QRSubDetail1AfterPrint(Sender: TQRCustomBand;
BandPrinted: Boolean);
begin
if iNum=20 then
begin
//如果每页超过20行
if not table1.Eof then
begin
//并且还没结束
quickrep1.NewColumn ;//那么换页打印
inc(pageno) ;//
iNum:=0 ;//重新记数
end ;
end ;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
500
import
I
后退
顶部