多值查詢即是參數(shù)的返回值是多個的,即按照多個值查詢出數(shù)據(jù)。控件的類型有數(shù)據(jù)集參數(shù)和報表參數(shù),下面分別介紹下在FineReport中,這兩個參數(shù)的多值查詢的方法。
報表參數(shù)多值查詢報表參數(shù)的多值查詢關(guān)鍵的就是設(shè)置過濾條件,下面我們就以下拉復(fù)選框為例來介紹下多值查詢的過濾條件的設(shè)置。
報表參數(shù)多值查詢具體示例
1、打開模板
打開模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaConnection.cpt
2、修改參數(shù)控件類型
點擊參數(shù)界面,將參數(shù)city的控件類型設(shè)置為下拉復(fù)選框,并設(shè)置返回值類型為數(shù)組。下拉復(fù)選框的返回值類型無論是字符串還是數(shù)組其過濾條件都是相同的,因此這邊我們可以隨便設(shè)置成數(shù)組還是字符串。
3 過濾條件設(shè)置
點擊A2單元格,選擇單元格上方的過濾按鈕,彈出過濾對話框,選中貨主城市的過濾條件,將其操作符修改為包含于,然后點擊修改,最終的過濾設(shè)置界面如下圖:
4 保存模板
點擊分頁預(yù)覽,將貨主城市選擇多個值后,點擊查詢,就會查詢出多個城市的數(shù)據(jù),效果如下圖:
數(shù)據(jù)集參數(shù)的多值查詢,關(guān)鍵是定義sql語句,下面我們來介紹下設(shè)置方法。
數(shù)據(jù)集參數(shù)多值查詢示例
1 打開模板
打開模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\MultiValue\MultiValue.cpt。
2 刪除報表參數(shù)及過濾條件
將報表參數(shù)刪除掉,并把A2單元格中的過濾條件刪除掉。
3 修改數(shù)據(jù)集
由于下拉復(fù)選框的返回值類型為數(shù)組型,要定義復(fù)雜的公式,因此我們推薦使用返回值類型為字符串型的,下面我們就介紹返回值為字符串型的數(shù)據(jù)集的定義及下拉框的設(shè)置方法。
要將下拉復(fù)選框參數(shù)的返回值拼湊成(‘值1′,’值2′,’值3′,…)這樣的數(shù)據(jù),因此我們將數(shù)據(jù)集定義為:SELECT * FROM 訂單 where 貨主地區(qū)= ‘${area}’ and 貨主省份 = ‘${province}’ and 貨主城市 in (‘${city}’)
4 下拉復(fù)選框設(shè)置
選擇參數(shù)的返回值類型為字符串,由于要將參數(shù)拼湊成(‘值1′,’值2′,’值3′,…)這樣的結(jié)果,因此要將分隔符定義為’,’,如下圖所示:
5 保存模板
點擊分頁預(yù)覽,選擇多個城市后,效果如下圖:
具體的設(shè)置可參考模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\MultiValue\MultiValue1.cpt。
原文轉(zhuǎn)載自:FineReport官網(wǎng):http://www.finereport.com/knowledge/design/mulfound.html
了解Java報表工具就從這里開始