FastReport报表常用技巧(转)

1. 单据中有多行数据,但预览时只显示部分内容,或者打印内容行与行之间有间隔FASTREPOR属性中:设置RowCount=0,Start New Page为False;Stretched为True.说明:

  RowCount:控制总共打印几行;RowCount=0是打印全部;

  Start New Page:打印前先跳页;每页打印一行;

  Stretch:表身自动伸缩根据表身内容;

  2. 在打印中设置金额或数量的小数位数FASTREPOR属性中:使用DisplayFormat(数据显示格式)——数字——1234.50

  %2.0f:以整数形式显示;

  %2.2f:显示两位小数;

  %2.3f:显示三位小数位,可根据情况进行调整。

  3. 在打印中设置日期/时间的格式FASTREPOR属性中:使用DisplayFormat(数据显示格式)——日期/时间——11.28.2002

  mm.dd.yyyy:显示月.日.年

  mm.dd:显示月.日

  mm:显示两位的月

  4. 当栏位的值为零时显示为空FASTREPOR属性中:设置HideZeros(数字前面的0是否显示)为True

  5. 自动换行1)选择数据单元进行群组;

  2)StretchMode为smMaxHtight;WordWrap为True;Stretched为True.

  说明:

  StretchMode:对象伸缩的行为;

  WordWrap:文本是否自动换行;

  6. 合计[SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2)]

  7. 每页合计将定义好的合计函数放到‘栏尾’中即可。

  8. 全表合计将定义好的合计函数放到‘报表合计’中即可。

  9. 金额大写在报表设计中使用函数:ConbertNumToChinese()

  合计金额大写:[ConvertNumToChinese(SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2))]

  负数合计金额大写:[ConvertNumToChinese(Abs(SUM(<进/销/退/折表身档."AMTN_NET">,MasterData2)))]

  10. 报表中打印行数

  在报表设计中使用变量——系统变量Line#

  11. 连打

  1) 单据——速查,查出要打印的单据;

  2)打印——查询数据——预览——打印,选择多张单据进行连打。

  12. 连打打到同一页

  打印——设计——页面设置——勾选“打印至前一页”,“伸展至打印区”

   13. 打印固定行数,不足补空白行代码(语言:PascalScript)

  var

  PageLine: integer;

  PageMaxRow: integer=5; //每页打印的行数

  procedure Footer1OnBeforePrint(Sender: TfrxComponent);

  var

  i: integer;

  begin

  i := iif(PageLine=0, PageMaxRow, PageLine);

  while i < PageMaxRow do begin

  i := i + 1;

  Engine.ShowBand(Child1); //印空白表格

  end;

  end;

  procedure MasterData2OnBeforePrint(Sender: TfrxComponent);

  begin

  PageLine := <line> mod PageMaxRow;

  if (PageLine = 1) and (<line> > 1) then

  Engine.newpage;

  end;

  begin

  end.

  14. 电子签名代码(语言:BasicScript)

  sub MasterData2OnBeforePrint(Sender)

  if length(<进销货表头档.”CHK_MAN”>)>0 then picture2.visible=true

  end sub

posted @ 2012-02-10 13:51  bingege  阅读(1227)  评论(0编辑  收藏  举报