【FastReport】问题整理(不断更新)

分页合计:

  直接在页脚上增加一个Sum(对应字段)函数即可。

分页上显示累计:

  需要在MasterData1 的 OnAfterPrint 事件里写下代码如下。

var sum_t,sum_t1,sum_t2:extended;   //sum_t 总合计

procedure MasterData1OnAfterPrint(Sender: TfrxComponent);
begin
  sum_t1 := sum_t1+<结果集1."字段1"> ;
  sum_t2 := sum_t2+<结果集1."字段2">;
  sum_t := sum_t+<结果集1."字段3"> ;
end;
begin
sum_t :=0;
sum_t1 :=0;
sum_t2 :=0;                                    
end.

然后在TEXT里面输入"[sum_t]"即可,没有引号。

允许使用HTML标签(没测过):

frxmemoview.AllowHTMLTags := True;

分页显示总页数:在TEXT里选择插入系统变量[Page#]

分页显示当前页:在TEXT里选择插入系统变量[TotalPage#]

 

Sum()函数出现的怪异事情

当在调用sum()函数的时候,举例来说:

我有一个3行记录的结果集,字段名称为A,里面分别存放了10,20,30,这个时候,我调用Sum(A)放在了某一TEXT里。

打印的时候,很奇怪的打出了"102030",当时思前想后,试了很多方法,都没有解决。

最后,检查了一下形成结果集的SQL,发现,将这一列进行了小数位数处理后,成为了字符型的。

结果打印就默认进行了字符串拼接,可见,这个打印控件是相当智能。在把形成结果集SQL进行Convert处理成数值型后正常。

原文地址:https://www.cnblogs.com/Xuhaiyang/p/2528796.html