我用QuickRep打印报表,现在打印时使用了TQRExpr,它的Expression属性为: '第'+PAGENUMBER+'页',
打印出来的效果为:第1页,可不可以获得QuickRep的总页数,使打印效果变成:第1页/共10页。另外我注意到了用QuickRep.PreviewModal生成报表时在报表底部会形成如下标签:Page 1 of 10。可不知如何获得它?

解决方案 »

  1.   

    QuickRep1.QRPrinter.PageCount 就可以了
      

  2.   

    第'+QuickRep1.QRPrinter.PAGENUMBER+'页 of '+QuickRep1.QRPrinter.PageCount', 就可以了
      

  3.   

    请问daixingxian,应该将这句代码放在哪里?
      

  4.   

    procedure TForm2.PrintButton1Click(Sender: TObject);
    begin
    var
    TotalPageCount:Integer;
    Str:String;
    begin
      Form3:=TForm3.Create(self);
      Form3.QuickRep1.Prepare;
      TotalPageCount:=Form3.QuickRep1.Printer.PageCount;
      Str:='共'+ IntToStr(TotalPageCount)+'页';
      Form3.QRLabel1.Caption:=Str;
      Form3.QuickRep1.Preview ; 
    end;
    end;
      

  5.   


    拖一个QRSysData控件,将其Data属性设置为 qrsPageNumber
    这样预览时就可以显示页数了
      

  6.   

    procedure Tfrm.create(sender: object );
    var  
      intPageCount :Integer
    bengin
      QuickRep1.Prepare;
      intPageCount:=QuickRep1.Printer.PageCount;  
      ShowMessage(IntToStr(intPageCount));
    end;
      

  7.   

    在QRLabel1的ONPRINT事件中;
    QRLabel1.Caption:=第'+QuickRep1.QRPrinter.PAGENUMBER+'页 of '+QuickRep1.QRPrinter.PageCount';
      

  8.   

    要行Prepare后才能能获得总页码,否则总是1