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 表格設計
設計表格,将對應字段拖入到單元格中,設置地區所在 A2 單元格的數據設置爲「列表」,如下圖所示:
2.3 添加控件
将參數數量添加進參數面板,設置「數量」的控件爲「數字控件」,控件值爲 3 ,如下圖所示:
2.4 方法一:補充空白數據
1)選中 A2 單元格,右邊屬性面板點擊「單元格元素>高級」,勾選「補充空白數據」,設置數據倍數爲 7,如下圖所示:
2)選中 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 效果預覽
2.6.1 PC 端
保存模板,點擊「分頁預覽」,效果如 1.1 節中所示。
2.6.2 移動端
App 端和 HTML5 端均支持,效果如下圖所示:
3. 模板下載
已完成模板可參見:
%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\條件補足空白行-方法一.cpt
%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Pagination\條件補足空白行-方法二.cpt
點擊下載模板: