a   b   c1   1   1
2   2   2
3   3   3
4   4   4打印出数据为
第一页
    a   b   c
    1   1   1
    2   2   2总计3   3   3第二页
    a   b   c
    3   3   3
    4   4   4
总计7   7   7求这个页合的汇总.求了

解决方案 »

  1.   

    不清楚你要说什么....
    你是要问第一页+第二页 还是A+B+C
      

  2.   

    我是想对a,进行统计.按页统计.一页两条对b,进行统计.按页统计.一页两条对c,进行统计.按页统计.一页两条
      

  3.   

    这个比较麻烦,因为页的大小可能是变化的,可能多一条少一条的,很难预知。FR好像也没有专门的控件。可以试试:
    在MasterData1的AfterPrint事件中写代码来手工汇总。然后在PageFooter1中将汇总结果显示出来,同时将汇总时使用的变量清零,准备下一页的汇总。
    没有测试过,你试试看
      

  4.   

    QuickRep1: TQuickRep;QuickRep1.Bands.HasDetail:=True;
    QuickRep1.Bands.HasPageHeader:=True;
    QuickRep1.Bands.HasPageFooter:=True;PageHeaderBand1: TQRBand;
    PageFooterBand1: TQRBand;
    DetailBand1: TQRBand;在PageHeaderBand1上放置3个TQRLabel,Caption一次为:a,b,c
    在DetailBand1上放置3个TQRDBText,依次设置好DataSet和DataField
    在PageFooterBand1上放置3个TQRExpr,依次设置好求和表达式,并且设置TQRExpr的ResetAfterPrint属性为True定义一全局变量
    var
      iCount:Integer;//在QuickRep1的BeforePrint事件里给iCount赋初始值
    procedure TForm1.QuickRep1BeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
    begin
      iCount:=1;
    end;//在DetailBand1的BeforePrint事件里处理换页(按每页2条记录换页)
    procedure TForm1.DetailBand1BeforePrint(Sender: TQRCustomBand;
      var PrintBand: Boolean);
    begin
      if iCount>2 then
      begin
        QuickRep1.NewPage;
        iCount:=2;
        exit;
      end;  inc(iCount);
    end;预览就可以达到楼主的要求
      

  5.   

    还要设置PageHeaderBand1.ForceNewPage:=True;
      

  6.   

    在detail下增加一行使用rbGroupFooter,该行的linkband为detail的band,在这行上增加QRExpr控件,表达式使用sum进行计算(可以使用expression进行设置)。