1. 概述
1.1 需求描述
當模板中有多個參數下拉框時,後面參數下拉框的選項需根據前面參數的值而改變。如下圖中,省份選項需跟随地區所選值而相應變動,城市選項需跟随地區、省份所選值相應變動。
1.2 實現思路
新增數據集作爲各個參數框的數據字典,在後面參數框數據集中引用前面的參數作過濾。
2. 操作步驟
2.1 準備數據
新建普通報表,新建數據集ds1,SQL 語句爲:
SELECT * FROM 訂單 where 貨主地區='${area}' and 貨主省份='${province}' and 貨主城市='${city}'
2.2 設計表格
如下圖設計表格,将字段拖入到對應單元格中:
2.3 添加參數控件
編輯參數面板,點擊右側組件設置上方的全部添加,生成參數控件,分别點擊地區、省份、城市參數框,選擇下拉框控件
2.4 添加參數框選項數據集
2.4.1 地區選項
新建數據集地區選項:select distinct 貨主地區 from 訂單,由於地區是第一個參數,可以任意選擇,因此不需要聯動過濾(此處distinct關鍵字是爲了去重)
2.4.2 省份選項
新建數據集省份選項:SELECT distinct 貨主省份 FROM 訂單 where 貨主地區='${area}',因爲省份需要根據地區值的不同顯示相應的省份,所以需要設置地區過濾參數(此處distinct關鍵字是爲了去重)
2.4.3 城市選項
新建數據集城市選項:SELECT distinct 貨主城市 FROM 訂單 where 貨主地區='${area}' and 貨主省份='${province}',因爲城市需要根據地區值、省份值的不同顯示相應的城市,所以需要設置地區、省份過濾參數(此處distinct關鍵字是爲了去重)
2.5 設置參數控件的數據字典
1)選中地區下拉框控件,控件名稱爲 area ,設置數據字典爲數據查詢,選擇對應的數據集地區選項,實際值和顯示值相同,爲貨主地區,如下圖所示:
2)選中省份下拉框控件,控件名稱爲 province ,設置數據字典爲數據查詢,選擇對應的數據集省份選項,實際值和顯示值相同,爲貨主省份,如下圖所示:
3)選中城市下拉框控件,控件名稱爲 city ,設置數據字典爲數據查詢,選擇對應的數據集城市選項,實際值和顯示值相同,爲貨主城市,如下圖所示:
2.6 效果預覽
2.6.1 PC端預覽效果
保存模板,點擊分頁預覽,效果如下圖所示:
2.6.2 移動端預覽效果
移動端預覽模板,效果如下圖所示:
3. 模板下載
已完成模板可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\下拉框參數聯動.cpt
點擊下載模板:下拉框參數聯動.cpt