问题:目的是将报表的总页码数在ShowReport与print后传到窗体的变量中。我要的是你真正能实现的具体方法或代码。
前提要求描述:
 1.FastReport的版本:3.18
  2.报表的类是frxReport而不是frReport(请注意本点)
 3.要打印或显示的报表是在动态加载内容,即从某文件中加载的是使用LoadFromFile方法。
  4.报表上使用了报表头分组,即有GroupHeader。这意味着报表的内容最后将会分组显示内容。补充杂语: 
   1.我初步的思路:
     <1>.利用报表的PageFooter在OnAfterPrint事件中累积某个整型变量和即是想要得到的总页码值。
  实现步骤:首先在报表中创建了变量SysPage(但不知如何给它赋值。因为刚接触FastReport.)
              其次,在程序代码中将报表上的SysPage传过来即可。
              (传报表上的全局变量SysPage使用语句:
        vPage:= frxReport1.Variables['SysPage']。//vPage是程序代码int变量)
     <2>.但在报表的OnAfterPrint中不知如何写语句了累加全局变量SysPage的值
     (我偿试过这样写:SysPage :=SysPage+1;//提示语法不对)
  2.程序中就只需要返回报表的总页数即可,用frxReport.pagecount是无效的(不知开发此软件的人怎么设计的)。
   3.搞这个页码数已经12个小时了,不甚烦恼,请知情者贴代码告知方法,不甚感激。
  4.网站上没有一个公布此问题的答案的,虽然有人提过相同的问题(最后他自己解决了但未公布答案)。
   5.方法可行,立马散分。 

解决方案 »

  1.   

    在设计报表选项里有一项为两遍报表的,打上勾;
    好像是Report-Options-Double pass
    在frxReport的onEndDoc事件可以取得报表的总页数
    Showmessage(IntTostr(frxReport.Engine.TotalPages))
      

  2.   

    呵呵,demo里应该有的吧。这个分数浪费了。
      

  3.   

    回复:kaikai_kk
    不行啊,Showmessage(IntTostr(frxReport.Engine.TotalPages))的结果是0,
      

  4.   

    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
      

  5.   

    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。为一年来第一次在CSDN上得到一个答案而干杯!
    ....散分.............................................................
      

  6.   

    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。
    FastReport中,必须勾选两遍报表后,frxReport.Engine.TotalPages变量才有效。为一年来第一次在CSDN上得到一个答案而干杯!
    为知识干杯!
    ....散分.............................................................