1. 概述
1.1 版本
報表伺服器版本 | 功能變更 |
---|---|
11.0 | -- |
1.2 問題描述
實際項目中可能會需要控制範本的顯示內容為全部顯示或者部分顯示。如下圖,當選擇“是”時,查詢結果既包含部門ID為此ID的資訊,也包含上級部門ID為此ID的資訊。
1.3 實現思路
採用無線電鈕組元件和資料集參數實現。
2. 操作步驟
2.1 準備資料
建立普通報表,建立資料集 ds1,SQL 語句為:
SELECT * FROM 公司部門 where 1=1 ${if (flag == 0,"and 部門ID = '" + id + "'","and (部門ID = '" + id + "' or 上級ID='" + id + "')")}
公式中語句的註釋如下:
where 1=1 表示條件永真,防止沒有參數條件時,where 後面沒有有效內容導致出錯。
${if (flag == 0,"and 部門ID = '" + id + "'","and (部門ID = '" + id + "' or 上級ID='" + id + "')")}表示:
flag == 0,定義一個 flag 參數,透過 if 語句來根據 flag 的值分別執行不同的 SQL 語句:
當參數「flag」為 0 時,查詢語句相當於:SELECT * FROM 公司部門 where 1=1 and 部門ID = '" + id + "'"
當參數「flag」不為 0 時,查詢語句相當於:SELECT * FROM 公司部門 where 1=1 and (部門ID = '" + id + "' or 上級ID='" + id + "')
如下圖所示:
2.2 設計表格
如下圖設計表格,將欄位拖入到對應儲存格中,如下圖所示:
2.3 新增參數元件
編輯參數面板,點選右側元件設定上方的全部新增,生成參數元件。點選 id 參數框,選擇下拉框元件;點選 flag 參數框,選擇單選按鈕組元件,如下圖所示:
2.4 設定參數元件的資料字典
2.4.1 設定下拉框元件的資料字典
選中下拉框元件,元件名稱為 id,設定資料字典為資料庫表,選擇內建資料庫FRDemoTW的公司名稱表,實際值和顯示值都為部門 ID,如下圖所示:
2.4.2 設定無線電鈕組元件的資料字典
選中單選按鈕組元件,元件名稱為 flag,設定資料字典為自訂,增加兩條記錄:實際值 1、0 分別對應顯示值是、否,如下圖所示:
2.5 效果預覽
2.5.1 PC 端
儲存範本,點選「分頁預覽」,效果如下圖所示:
2.5.2 行動端
App 及 HTML5 端效果相同,如下圖所示:
3. 範本下載
點選下載範本:單選按鈕組元件實現是否顯示全部.cpt