1. 概述编辑
1.1 问题描述
已有的 补足空白行功能,可以将数据补足到指定行数的倍数。如果想要满足一定条件下才补足,如何实现呢?
如下示例:当数据行数小于 7 时,补足到 7 行。当数据大于等于 7 行时,保持原有行数不变。
1.2 实现思路
方法一:使用补足空白行功能,当数据量大于 7 行时,设置条件属性隐藏行高。
方法二:小于 7 行时,使用公式扩展至 7 行,大于 7 行时不扩展。
2. 示例编辑
2.1 准备数据
新建普通报表,新建数据查询 ds1,SQL 语句如下:
SELECT * FROM 销量
${if(len(数量)=0,"","limit "+数量)}
注:此处参数为数量,配合 limit 使用,限制数据查询的行数。
2.2 设计表格
设计表格,将对应字段拖入到单元格中,如下图所示:
2.3 添加控件
参数面板给参数数量添加默认查询控件,如下图所示:
2.4 方法一:使用补足空白行
1)选中 A2 单元格,右边属性面板点击单元格元素>高级,勾选补充空白数据,设置数据倍数为 7,如下图所示:
5)选中 A2 单元格,右边属性面板点击条件属性,添加一个行高条件属性,设置当&A2>7&&LEN(A2)=0时,行高为 0,如下图所示:
注:公式的含义是隐藏所有 7 行以上的数据。
2.5 方法二:使用公式补足行数
1)在表格前面插入一列空白列,然后在A3单元格设置公式:if(count(B2) < 7, RANGE(1, 7 - COUNT(B2)), 0)
2)选中 A3 单元格,添加一个行高条件属性,设置如果当前值为 0,行高也为 0,即隐藏该行,如下图所示:
3)隐藏 A 列,保存预览即可。
2.6 效果预览
1)PC 端
保存模板,点击填报预览,效果如下图所示:
2)移动端
3. 模板下载编辑
3.1 方法一
已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\条件补足空白行-方法一.cpt
点击下载模板:条件补足空白行-方法一.cpt
3.2 方法二
已完成模板可参见:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\条件补足空白行-方法二.cpt
点击下载模板:条件补足空白行-方法二.cpt