使用fastreport打印报表的强制换页问题(100分)

  • 主题发起人 主题发起人 zearbo
  • 开始时间 开始时间
Z

zearbo

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在报表打印某条记录之前强制换页,应该怎么写程序,在哪个事件中写?
比如我要的打印的格式为:
代码 名称
a123 测试
测试的孩子
测试的第二个孩子
b123 打印
打印的孩子
打印的第二个孩子
而后我要求在打印b123之前强制换页,在新的页面中打印。
2、假如测试的第二个孩子在一个新的页面的的第一行打印,我要把代码项填写为a123,也就是保证每页的第一行都显示代码!这就要判断是否为一个新页的开始。请问在哪里,怎么判断?还有,判断完之后,在哪个事件中将其处理。
 
你用的是静态报表(.frf),还是动态报表?
 
静态报表
 
BAND选择项目有强制换页的功能,你可以看一下 中文手册。
 
to zearbo
如果是下面的形式还好办一些:
___________________________________
代码 名称
a123 测试
a123 测试的孩子
a123 测试的第二个孩子
b123 打印
b123 打印的孩子
b123 打印的第二个孩子
直接在master data band的OnbeforePrint写Script,就可以解决。
if [YourQuery."DaiMa"]='b123' then
NewPage;
--------------------------------
你要求的这种格式,目前还没有考虑好解决的办法。给你个思路:
1. 通过数据字典(frReport1.OnGetValue)建立一个变量,比如叫
代码:
;
2. 确定每页打印的记录数;
3. 判断当a123总记录数>每页记录数时,[Code]=YourQuery."DaiMa"
...
 
可是,如果有一项纪录是多行的需要折行打印,这是,一页的行数就要变化,而且不是行数减一,怎么办?
我现在想知道,使用fastreport只能在onmanulbuild中强制换页吗?
我想在打印某个字段之前预出理一下,判断是否要换页,如果需要就强制换页怎么实现啊
 
将你的报表设置为以"代码"分组打印的
然后在分组脚Band 上点右键可以选择"强迫换页"

给分吧...............
如有问题继续......
 
后退
顶部