在用Java報表軟件查詢數(shù)據(jù)時,經(jīng)常會遇到查詢條件不定的情況,例如參數(shù)過濾列是動態(tài)變化的:有時想用A列進(jìn)行過濾,有時想用B列進(jìn)行過濾。在FineReport報表中,可以將整個查詢條件作為參數(shù)傳入sql中,查詢出對應(yīng)的數(shù)據(jù),定義形式如:SELECT * FROM [TableName] ${Condition},即把整個where語句作為動態(tài)的參數(shù)。
1. 新建報表
2. 定義數(shù)據(jù)集
新建數(shù)據(jù)庫查詢ds1,輸入SQL:SELECT * FROM STSCORE ${Condition};
3. 模板設(shè)計
如下設(shè)計報表

數(shù)據(jù)列設(shè)置如下表
4. 定義參數(shù)界面
點(diǎn)擊參數(shù)設(shè)計,參數(shù)界面布局如下
5. 保存模板并預(yù)覽
保存模板,點(diǎn)擊設(shè)計器分頁預(yù)覽,輸入動態(tài)的查詢條件如:Where ClassNo='Class1',便可查詢出數(shù)據(jù),效果如下圖:

文章轉(zhuǎn)自:http://blog.vsharing.com/fanfanzheng/A1298397.html