本例继续接着上一个报表制作,所以之前的准备工作此文略,详见:
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”视图查看效果。
眼镜蛇