qreport中怎样在pageFooter中加入总页数?(100分)

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

zcc_cl

Unregistered / Unconfirmed
GUEST, unregistred user!
qreport中怎样在pageFooter中加入总页数?
 
你在PageFooter上放一个QRLabel1,然后在你要打印或预览的地方写:
QuickRep1.Prepare;
QRLabel1.Caption:=IntToStr(QuickRep1.Printer.PageCount);
QuickRep1.Preview;
 
我程序中的一段代码,现在已改成fastreport的了,比原来的方便多了。
procedure TgzdFrm.Button2Click(Sender: TObject);
begin
gzdreport:=tgzdreport.create(self);
gzdreport.quickrep1.Prepare;
gzdreport.PrintDialog1.MaxPage :=gzdreport.quickrep1.Printer.PageCount;
//gzdreport.quickrep1.cleanup;
//必须加上这一句
gzdreport.ysLabel.Caption := '共'+TRIMLEFT(INTTOSTR(gzdreport.PrintDialog1.MaxPage))+'页-';
gzdreport.QuickRep1.preview;
end;
 
unit bianji
public
{ Public declarations }
FMaxPage:integer;
Nrecordcount:integer;
uses bianji1;

procedure TF_bianji.Button2Click(Sender: TObject);
begin

Application.CreateForm(TF_bianji1,F_bianji1);
F_bianji1.QuickRep1.Visible:=False;
F_bianji1.QuickRep1.Prepare;
FMaxPage :=F_bianji1.QuickRep1.Printer.PageCount;
Nrecordcount:=adoquery1.RecordCount;
F_bianji1.QuickRep1.Preview;
F_bianji1.Close;
end;
---------------------------------------------------------------
unit bianji1
..
uses bianji;
procedure TF_bianji1.PageFooterBand1BeforePrint(Sender: TQRCustomBand;
var PrintBand: Boolean);
begin
QRLabel13.Caption:= '第' + IntToStr(QuickRep1.PageNumber) + '页(共' + IntToStr(F_bianji.FMaxPage) + '页,'+'共'+IntToStr(F_bianji.Nrecordcount)+'人)';
end;
 
经测试,放在PageFooterBand1BeforePrint中结果才正确
 
多人接受答案了。
 
后退
顶部