在设置单据的打印模板的时候,我们有时候会遇到这样的情况:单据的内容很少,打印出来的效果不理想的情况,例如
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、保存
现在我们就可以得到以下的打印效果了!

FastReport之实现打印固定行数,不足补打空白行的办法的更多相关文章

  1. .Net_用控制台程序打印指定行数的三角型(面试题)

    .Net_用控制台程序打印指定行数的三角型(面试题)   下面是一个由*号组成的4行倒三角形图案.要求: 1.输入倒三角形的行数,行数的取值3-21之间,对于非法的行数,要求抛出提示“非法行数!”: ...

  2. [小问题笔记(八)] 常用SQL(读字段名,改字段名,打印影响行数,添加默认值,查找存储过程等)

    读取所有字段,自然排序 declare @fields varchar(max) Select @fields=ISNULL(@fields,'')++name+',' from syscolumns ...

  3. Grid++Report设置显示固定行数

    一.要实现的功能打印的报表显示固定的行数,并且设置字段的文字可以自动换行二.设置步骤1.鼠标左键单击“明细网格”栏,在右侧属性窗口中设置“追加空白行”属性值为:是:“追加空白行在后”属性值为:是.2. ...

  4. EditText 几种显示方式,固定行数,自适应行数

    1.显示7行,超过7行自动向下补充行数 <EditText android:id="@+id/edt_content" android:layout_width=" ...

  5. Android TextView,EditText要求固定行数自动调整TextSize

    最近项目有个需求要求文本最多显示3行,继续输入则字体变小,删除已经输入的文字,那么字体变大,不管变大变小都不能超过3行.网上怎么找也找不到相关的解决方案,自己动手,丰衣足食了! 说一下算法思路,后面给 ...

  6. oracle取随机数,取固定行数的数

    首先建一张测试表: create table DIM_IA_TEST5 ( NAME ), OTHERNAME ), NUM NUMBER, TIMES NUMBER ) 然后插入数据,现在的表数据为 ...

  7. Oracle 行转列(不固定行数的行转列,动态)(转)

    http://bbs.csdn.net/topics/330039676 SQLSERVER :行列转换例子:  http://www.cnblogs.com/gaizai/p/3753296.htm ...

  8. 纯css实现不固定行数的文本在一个容器内垂直居中

    项目中要实现的效果如图: html代码 及 css代码: <!DOCTYPE html> <html> <head> <meta charset=" ...

  9. python pandas使用chunksize异步拆分固定行数的文件

    import pandas as pd import asyncio from collections import defaultdict collect = defaultdict(list) # ...

随机推荐

  1. centos 6.5 上安装 nvm

    NVM 重磅推出NVM curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash Clos ...

  2. 201621123008 《Java程序设计》第13周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图.OneNote或其他)归纳总结多网络相关内容. 2. 为你的系统增加网络功能(购物车.图书馆管理.斗地主等)-分组完成 为了让你的系统可以被多个用户通过网 ...

  3. list,set等集合遍历时,不能remove集合中的元素。需要new一个Object或者list,set,里面add需要删除的元素,等集合遍历完了进行remove(Object)或者removeAll(list/set)操作

    list,set等集合遍历时,不能remove集合中的元素.需要new一个Object或者list,set,里面add需要删除的元素,等集合遍历完了进行remove(Object)或者removeAl ...

  4. 要显示的联系人——>自定义-bug

    自定义中将“电话”下的“所有联系人”不勾选,但是Contacts列表还是显示PHONE联系人. SELECT _id, display_name, agg_presence.mode AS conta ...

  5. python之web开发“三剑客”

    #  django import django #  flask import flask # tornado import tornado

  6. python学习 day6 (3月7日)

    #__author : 'liuyang' #date : 2019/3/7 0007 a = ['a' , 'b' , 'c'] b = [] print(a is b ) # 空元组 可以 空列表 ...

  7. sqlserver的substring详细用法

    SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的‘abd’给提取出来,则可用substring 来实现: select sub ...

  8. 2019.01.03 bzoj3456: 城市规划(生成函数+多项式取对)

    传送门 生成函数好题. 题意:求n个点的简单(无重边无自环)无向连通图数目 思路: 对简单无向图构造生成函数f(x)=∑n2Cn2xnn!f(x)=\sum_n2^{C_n^2}\frac{x^n}{ ...

  9. 2018.11.09 codeforces487E. Tourists(tarjan+树链剖分)

    传送门 先把边双连通分量用圆方树一样的方法缩点,然后把新建的树树剖维护. 注意对于边双连通分量需要维护动态最小值,可以用multisetmultisetmultiset. 代码: #include&l ...

  10. 2018.10.25 洛谷P4187 [USACO18JAN]Stamp Painting(计数dp)

    传送门 其实本来想做组合数学的2333. 谁知道是道dpdpdp. 唉只能顺手做了 还是用真难则反的思想. 这题我们倒着考虑,只需要求出不合法方案数就行了. 这个显然是随便dpdpdp的. f[i]f ...