1. 概述
1.1 版本
報表伺服器版本 | 功能變更 |
11.0 | - |
11.0.18 | SQL 函數新增防 SQL 注入寫法 |
1.2 預期效果
透過 SQL語句實現下拉框參數聯動 可以實現下拉框參數的下拉清單聯動,在使用中需要使下拉框預設選擇清單中的第1個值,效果如下圖所示:
1.3 實現思路
透過給參數面板元件值賦值可以改變顯示的內容,結合 SQL函式 查詢出前面參數在資料庫中對應值的第1個,就可以實現查詢出需要的結果。
2. 範例
2.1 設定 area 下拉框元件
1)開啟範本%FR_HOME%\WebReport\WEB-INF\reportlets\doctw\Parameter\ParaConnection.cpt
2)選擇參數面板「地區」下拉框元件,元件值選擇公式,輸入公式:sql("FRDemoTW","SELECT 貨主地區 FROM 訂單 ",1,1),使報表預覽時預設顯示訂單的「貨主地區」欄位的第一個地區,如下圖所示:
2.2 設定 province 下拉框元件
選擇「省份」下拉框元件,同樣設定元件值為公式:if(len($area)=0,'',sql("FRDemoTW","SELECT 貨主省份 FROM 訂單 where 貨主地區 = '${area}'",1,1)),如下圖所示:
注:元件值賦值的 SQL查詢出來的值必須和對應的元件資料字典查詢值一致,否則結果可能出錯。
2.3 設定 city 下拉框元件
選擇「城市」下拉框元件,同樣設定元件值為公式:if(len($area)=0||len($province)=0,"",sql("FRDemoTW","SELECT 貨主城市 FROM 訂單 where 貨主地區 = '${area}' and 貨主省份 = '${province}'",1,1))
注:元件值賦值的 SQL查詢出來的值必須和對應的元件資料字典查詢值一致,否則結果可能出錯。
3. 效果預覽
4. 範本下載
點選下載範本:ParaConnection3.cpt