1. 概述
1.1 預期效果
對於多地區的銷售公司來說,經常需要對所屬大區、省份、城市進行聯合查詢,以及同級别城市進行對比。如下圖所示:
1.2 實現思路
通過定義SQL,巧用多個參數以及 in 關鍵詞,來實現多值查詢。
2. 操作步驟
2.1 模板準備
本文将在 下拉框參數聯動 模板的基礎上實現本文 1.1 節的效果。
模板所在位置:%FR_HOME%\webroot\WEB-INF\reportlets\doc\Parameter\下拉框參數聯動.cpt
或者直接點擊下載模板:下拉框參數聯動.cpt
在 FineReport 設計器中打開模板,如下圖所示:
2.2 修改模板數據集
修改模板數據集 ds1 爲:
SELECT * FROM 訂單 where 貨主地區= '${area}' and 貨主省份 = '${province}' and 貨主城市 in ('${city}')
如下圖所示:
2.3 設置下拉複選框控件
進入參數面板,删除名爲 city 的下拉框控件,如下圖所示:
添加下拉複選框控件,控件名稱爲 city ,設置數據字典爲「數據查詢」,數據集爲「城市選項」,實際值和顯示值都爲「貨主城市」。設置返回值類型爲字符串,分隔符爲','(即單引号中間加一個逗号,此處分隔符的設置是爲了将所選的多個參數值分隔開,例:當地區選擇 華北、華中 時,返回值爲 華北','華中 )。
注:分隔符必須在英文半角狀态下輸入。
2.4 效果查看
2.4.1 PC 端
保存模板,點擊「分頁預覽」,效果如本文 1.1 節所示。
2.4.2 移動端
App 及 HTML5 端效果如下圖所示:
3. 模板下載
已完成模板可參見:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\MultiValue\數據集參數的多值查詢.cpt
點擊下載模板:數據集參數的多值查詢.cpt