Java報(bào)表軟件的數(shù)據(jù)源在從數(shù)據(jù)庫(kù)獲取所需值時(shí),不僅可以在SQL語(yǔ)句中使用單一參數(shù)進(jìn)行篩選,而且可以使用復(fù)選參數(shù)進(jìn)行數(shù)據(jù)篩選。下面我們以FineReport報(bào)表軟件為例,看一下具體的報(bào)表制作過(guò)程。
1. SQL語(yǔ)句中復(fù)選參數(shù)的定義
SQL查詢(xún)多個(gè)結(jié)果的格式為:
SELECT * FROM [Table] WHERE [Para] in ('para1','para2','para3',...)
此語(yǔ)句意思為從數(shù)據(jù)庫(kù)表Table中取出字段Para值分別為para1,para2,para3等等的數(shù)據(jù)記錄。
根據(jù)最終格式定義SQL查詢(xún)語(yǔ)句如下:
SELECT * FROM STSCORE WHERE ClassNo in ('${classno}')
定義參數(shù)默認(rèn)值Class1
2. 制作報(bào)表模板
使用數(shù)據(jù)集制作報(bào)表模板如下
3. 定義參數(shù)設(shè)計(jì)界面
3.1 參數(shù)設(shè)計(jì)
打開(kāi)參數(shù)設(shè)計(jì)面板,按照下圖安排參數(shù)的位置

3.2 控件設(shè)置
右擊B2單元格,選擇控件設(shè)置,打開(kāi)控件設(shè)置面板,類(lèi)型選擇下拉復(fù)選框,返回值類(lèi)型選擇字符串,并以“’,’”分割。

這樣操做的目的是為了將SQL中的參數(shù)classno可選值轉(zhuǎn)換為以逗號(hào)間隔的單引號(hào)字符串形式,型如'Class1','Class2','Class3',符合SQL中參數(shù)多值查詢(xún)的定義格式。
4.預(yù)覽并保存
報(bào)表軟件分頁(yè)預(yù)覽效果如下

文章轉(zhuǎn)自:http://www.tkk7.com/echoseason/archive/2010/11/18/338417.html