关于birt中script的使用,各路高手大侠请进,
之前我有做过参数查询的功能,是用finereport实现的,不需要写这么多代码~~||,你可以试试,主要过程如下:
1.功能描述
参数联动,就是指后面一个参数下拉框的值会根据前一个参数的值的改变而改变。如下图中,参数城市跟随前一参数省份的值而变动,而参数省份又跟随地区的值而变动。
2.实现思路
通过定义两个或以上的下拉选项编辑器,设置下拉选项的值是通过数据查询获取的,而在定义数据集时通过增加where过滤条件来限制数据。
3.示例
3.1打开模板
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Parameter\ParaNull\ParaNull1.cpt。
3.2报表参数设置
在原有参数的基础上,增加一个参数名为city的参数。
3.3参数界面设置
将参数界面设置为如下样式:
3.4 参数联动设置
数据集设置
增加数据集动态SQL1,SQL语句为:SELECT 货主省份 FROM 订单 where 货主地区='${area}',即通过where条件限定此数据集取出的数据是通过area参数获取的。
再增加数据集动态SQL2,SQL语句为:SELECT 货主城市 FROM 订单 where 货主地区='${area}' and 货主省份='${province}',多个条件之间用and连接,有多个参数联动时需要将前面所有的参数都作为过滤条件。
控件数据设置
设置参数area的控件类型为下拉框,数据字典为数据库表,数据库为FRDemo,数据表为订单,实际值与显示值的列名为货主地区。
设置参数province的控件类型为下拉框,数据字典为数据查询,数据集为动态SQL1,实际值与显示值的列名为货主省份。
设置参数city的控件类型为下拉框,数据字典为数据库表,数据集为动态SQL2,实际值与显示值的列名为货主城市。