1. 概述
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | - |
1.2 预期效果
制作分页报表时,希望报表可以动态设置每页显示多少行,如下图所示:
1.3 实现思路
在参数面板中添加控件,通过控件选择报表每页显示的行数。
本文将在 按组分页 中模板的基础上作示例。
注:当一个组内的数据不足设置的行数时,只显示组内余下的数据。
2. 示例一:通过预定义控件设置动态行数
2.1 打开模板
打开模板:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\按组分页.cpt。
点击下载模板:按组分页.cpt
2.2 添加控件
1)编辑参数面板,添加预定义控件,将「固定行数分页行数设置下拉框」控件和「查询控件」拖入参数面板,如下图所示:
2)「固定行数分页行数设置下拉框」控件默认数据字典设置,数据字典默认为 10、20、30、50、100,若需要其他值可手动进行更改,如下图所示:
3)点击 A5 单元格,点击「单元格属性」,勾选「分页数据单元格」,如下图所示:
2.3 分页预览设置
选择「模板>模板 Web 属性>分页预览设置」中勾选「按行分页」,如下图所示:
2.4 效果预览
2.4.1 PC 端
如 1.2 节所示。
2.4.2 移动端
3. 示例二:下拉框控件实现动态行数
3.1 打开模板
打开模板:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\按组分页.cpt。
3.2 添加控件
1)编辑参数面板,添加「标签控件」,控件值设置为「每页条数:」,如下图所示:
2)添加「下拉框控件」,设置控件名称为「pageSize」,并设置数据字典类型为「自定义」,添加值,如下图所示:
3)点击「预定义控件」,显示「查询按钮」,添加到参数面板中,如下图所示:
3.3 设置动态行数
选中 A5 单元格,添加「条件属性」,属性选择「分页」>「行后分页」。公式条件类型选择公式,点击「定义按钮」输入公式:&A5 % $pageSize = 0。
&A5为该单元格数据的序号,$pageSize 为下拉框的值,此条件表示 序号为$pageSize 的整数倍时行后分页,即每$pageSize行分页。步骤如下图所示:
注1:条件属性必须设置在「最左父格」上。
注2:「pageSize」需要与「下拉框控件」中「控件名称」保持一致。
3.4 分页预览设置
选择「模板>模板 Web 属性>分页预览设置」中勾选「按行分页」,如下图所示:
3.5 效果预览
如 2.4 节所示。
4. 注意事项
4.1 对列分组表格无效
当表格以列分组形式显示,则设置的固定行数分页无效,可将数据设置修改为「列表」。列分组表格样式如下图所示:
4.2 页面设置与固定分页行数同时生效
页面设置需保证能完整显示所设分页行数,才能达到符合预期固定行数分页的效果。若页面设置小于分页行数,则按页面大小进行显示。例如设置每页显示行数为 20,页面大小设置为 210 X 100,则页面只显示 10 行,如下图所示:
4.3 行后分页与分页设置同时生效
如果模板同时设置了行后分页和固定行数分页设置,那么两种分页设置均会生效。例如行后分页设置为每 3 行进行一次分页,固定行数设置为每 10 行进行一次分页,那么页面将会按照 3-3-3-1 的顺序进行分页。
5. 模板下载
已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\每页显示动态行数.cpt。
点击下载模板:每页显示动态行数.cpt