如何在fastreport中在groupHeader中添加汇总字段值呢?
  在groupFooter中当然可以汇总,但是人家一定要在Header那显示,怎么弄好呢

解决方案 »

  1.   

    放在groupHeader肯定不能用fastreport中汇总功能了,用专门的数据源,事件中给groupHeader赋值。
      

  2.   

    实在不行,就每次只打印一页,打印前给报表中的MEMO赋值.self.frxReport1.LoadFromFile('reports\统计明细表.fr3');
    TfrxMemoView(frxReport1.FindObject('Memo13')).Memo.Text:=self.Edit1.Text;
    TfrxMemoView(frxReport1.FindObject('Memo15')).Memo.Text:=datetostr self.DateTimePicker5.Date);
    self.frxReport1.ShowReport;
      

  3.   

    想了想,你说的效果可以实现的。
    可以用主丛表实现,在你整理主表数据时,里面就准备好你个这汇总数,直接把它放在groupHeader就可以了。
      

  4.   

    我按照FastReport 中的Demo来做
     在GroupHeader那里,拖进了一个Memo4进来,在OnBeforePrint事件中,写代码:
    procedure Memo4OnBeforePrint(Sender: TfrxComponent);
    begin
      if Engine.FinalPass then
        Memo4.Text := 'Sum: ' + Format('%2.2m',[Get(<Sales."Company">)]);
    end;在GroupFooter的OnBeforePrint的事件中,写代码:
    procedure Band7OnBeforePrint(Sender: TfrxComponent);
    begin
      Set(<Sales."Company">, Sum(<Sales."Qty">*<Sales."List Price">));
    end;我将程序与Memo中的那个例子仔细对照了属性、事件,没什么区别的,但是一统计出来,GroupHeader中的合计与分组不一致。意思是:第一分组GroupHeader中显示的合计是最后一个分组的合计,第二分组的GroupHeader中显示的合计是第一分组的合计值,第三分组的GroupHeader中显示的合计是第二分组的合计值,依此显示合计下去
      有没有知道是怎么回事的呢?
      

  5.   

    你没明白我的意思吧!
    主从表打印
    主表:select 组别,sum(完成额) as 完成额合计 from mydate group by 组别
        组别    完成额合计
       第一组    300
       第二组    400
      第三组     500
    从表:sele * from mydata
    时间       组别    完成额
    2001.1    第一组  100
    2001.2   第一组  100
    2001.3    第二组  100
    .......这样组织好数据后,再用主丛表打印即可,可实现你的效果。
    组别:第一组    完成额合计:300//主数据
    日期        完成额//从数据
    2001.1    100
    2001.2    100
    2001.3    100
      

  6.   


    我明白你的意思,呵呵.如果用SQL来控制或程序来控制都是很简单的实现的.但是现在是程序不能变,SQL查询语句也不能动的情况下.
    意思是:数据集是select * from 表 where 字段=条件 查出来的数据。怎么通过fastreport来实现在分组头中显示各分组的合计。
      

  7.   

    哎,fastreport只是一个报表打印工具,虽然它的功能强大,但它毕竟只是delphi一个报表控件,不能指望它完成delphi所应该完成的数据处理工作。如果在前期处理很轻松就能完成的工作,没有必须再用fr来复杂化。我这样理解的,能在前期数据处理做的工作,决不用FR来做,要把FR完全的理解透、做到精通,可能得需要很长的时间,而且很少使用,一段时间后会忘得很快。我只用它来打印已经准备的数据,也用其它工具来打印和导出。
      

  8.   


    既然你看了 FastReport 中的 demo 中的 Totals in Group Head 的例子,我都说你应该会做的,只是你没有设置  "报表" 菜单中的“选项”菜单中的 "两遍过程"