Delphi FastReport报表常用方法
点击这里!!!厉害了【招聘】互联网独角兽招聘C/B端产品:JavaEE后端工程师,Web前端开发,测试,设计,产品,运营等职位
点击这里!!!改变命运:免费人工智能机器学习深度学习Python视频2018最新版
- 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