本例繼續接著上一個報表制作,所以之前的準備工作此文略,詳見:
BIRT--帶查詢和過濾功能的報表
1. 為下拉菜單建立數據集
a. 新建數據集“areaList”,
SQL: select area
from product
union
select 'all' from product.
2. 修改“Report Parameter”
a. 在“Report Parameter”中右擊“area”參數。
b. 在“Display Type”中選擇“List Box”。
c. 在“Date Set”中選擇剛建好的“areaList”。
d. 其它參數如下圖
3. 為選項“All”定義查詢。為了使當用戶選擇了“All”時能顯示全部數據,需要對它單獨寫腳本
a. 在中間的“Layout”視圖,點一下頁面。
b. 然后,選擇“Script”視圖。
c. 在上方選擇“before Factory”選項。
d. 寫入如下腳本:
if(params["area"] == "all"){
sql = "select * from product where '1' != ?";
this.getDataSet("product").queryText = sql;
}
4. 切換到“Preview”視圖查看效果。
眼鏡蛇