zoukankan      html  css  js  c++  java
  • FastReport之实现打印固定行数,不足补打空白行的办法

    在设置单据的打印模板的时候,我们有时候会遇到这样的情况:单据的内容很少,打印出来的效果不理想的情况,例如
    1、单据体与单尾之间有大量的空白;

    2、单据体跟单尾连在一起,单尾后面的空白篇幅太大;

    以上这两种打印效果并不理想,我们期待的是,系统能自动填充空白行至满页。
    实现步骤:
    1、在打印模板上添加“子”对象child,并把单体的内容复制到该部分,并清空各个对象的值,出现一个空白行。
    2、打开打印模板的代码编辑窗口,添加以下两个事件(可以直接把以下的代码拷贝到代码编辑器中,保存即可):
    var
      PageLine: integer; //在现在页列印到第几行
      PageMaxRow: integer=20; //设定每页列数
    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 MasterData1OnBeforePrint(Sender: TfrxComponent);
    begin
      PageLine := <line> mod PageMaxRow;
      if (PageLine = 1) and (<line> > 1) then
      Engine.newpage;
    end;
    begin
    end.
    3、选择打印模板的单体部分,切换到“事件”页,并在OnAfterPrint 事件中选择MasterData1OnBeforePrint
    4、选择打印模板的单尾部分,切换到“事件”页,并在OnBeforePrint事件中选择Footer1OnBeforePrint
    5、保存
    现在我们就可以得到以下的打印效果了!

  • 相关阅读:
    爬虫杂七杂八
    pycharm使用技巧
    python杂七杂八
    mysql杂七杂八
    mysql常见函数总结:
    CF1030F Putting Boxes Together
    AT2688 [ARC080C] Young Maids
    P5280 [ZJOI2019]线段树
    雨的味道
    P2572 [SCOI2010]序列操作
  • 原文地址:https://www.cnblogs.com/westsoft/p/8594333.html
Copyright © 2011-2022 走看看