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\doctw\Advanced\Pagination\條件補足空白行-方法一.cpt
%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Advanced\Pagination\條件補足空白行-方法二.cpt
點選下載範本: