社区
Delphi
帖子详情
fastreport 多个page 每个Page 页码显示问题?
jmzgq
2020-10-07 03:59:19
1, 一个报表文件包含多个Page,
2 Page1,对应第一个数据集
3, page2,对应第二个数据集
4, 打印完第一个数据集打印第二个数据集,怎样在打印第二page,页码从1算起?比如第一个page为 2页,第二个为page为3页.分别显示如下,1/2, 2/2, 1/3 2/3. 3/3.
如何实现?
...全文
1069
3
打赏
收藏
fastreport 多个page 每个Page 页码显示问题?
1, 一个报表文件包含多个Page, 2 Page1,对应第一个数据集 3, page2,对应第二个数据集 4, 打印完第一个数据集打印第二个数据集,怎样在打印第二page,页码从1算起?比如第一个page为 2页,第二个为page为3页.分别显示如下,1/2, 2/2, 1/3 2/3. 3/3. 如何实现?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jmzgq
2020-10-08
打赏
举报
回复
多谢回复,如果针对分组页码显示问题,FASTREPORT的新版本是有功能可以处理的。 现在这个不是针对分组页码显示,只是一般显示方法,用这些代码测试过,暂时没有效果出来。
tanqth
2020-10-07
打赏
举报
回复
这里的情况适用于FastReport2.53版本。 报表页码一般情况下就象在Word里一样不用费什么脑筋,FastReport里直接从系统变量可以得到。但特殊情况下就无法轻松得到了。 这里谈的是分组页码的问题,就是在报表分组的情况下。首先是每个分组强制分页,然后页码重新计数。比如5页分为二组,一组占了2页,另一组占3页。平常显示只要 1/5 2/5 3/5 4/5 5/5 这时要变成 1/2 2/2 1/3 2/3 3/3 第几页这是很容易算出来的,用个变量来表示页码,分组结束后重新算页码就行了,难点就在分组的页数,基本思路就是利用两遍报表,第一次得到各个分组的总页数,第二次再显示之。 首先定义三个变量,GPage用来表示页码初始值为1,PageList用来存放分组的页码数初始值为{0},GIndex用来计算分组的索引初始值为0,FGIndex用来第二次遍历时计算分组索引,其实这个与GIndex可以共用一个,但为了清晰起见分开用。 在PageFooter的BeforePrint里写 GPage := GPage + 1; 在GroupFooter的BeforePrint里写 if FinalPass then //二次遍历时增加分组索引 FGIndex := FGIndex + 1 else begin setLength(PageList,GIndex + 1); PageList[GIndex] := Gpage; //存放分组的总页数 GIndex := GIndex + 1; end; GPage := 0; 这样所有的东西都有了,在显示页码的Memo里填[GPage]。 在显示页数的Memo下面脚本段里写 if not FinalPass then exit; MemoPageCount.Lines[0] := PageList[FGIndex]; (MemoPageCount 是这个Memo的名字)
tanqth
2020-10-07
打赏
举报
回复
这个估计得自己去写代码实现了。
Delphi
Fast
Report
页脚自定义日期和
页码
代码.docx
Delphi
Fast
Report
页脚自定义日期和
页码
代码,非常实用。提供给大家参考。简单一目了然。
fast
report
报表空间使用技巧总结
作为报表控件中十分流行的控件,对于其使用过程中可能所涉及到
问题
进行详细的说明。
fast
report
动态分页
fast
report
动态分页 按查询的结果集其中的一个字段分页
Fast
Report
内置函数.doc
Fast
Report
内置函数
Fast
Report
内置函数
Fast
Report
使用手册
属于C#系统中使用的
Fast
Report
模板的地方,工作总结,非通用版,适用于软件现场实施工程师画模板使用
Delphi
5,916
社区成员
262,929
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章