在润乾集算报表中开发参数报表时,参数查询模板支持参数级联选择,即后面的参数根据前面的选择联动。。集算报表提供了多种编辑风格及其属性,实现很简单。下面通过一个实例说明实现过程。
要求参数模板中城市根据地区联动,如选择地区选择华北,后面的城市只能选择华北地区下城市,实现联动。如下图示:
实现步骤如下。
连接数据源
使用集算报表设计器,连接自带数据源demo。
编辑参数模板
新建报表,报表类型选择“参数报表”:
设置报表数据集ds1:
数据集SQL:select distinct 货主地区,货主城市 from 订单 。
编辑报表表达式:
设置B2的“编辑风格”为下拉数据集,编辑风格设置如下图:
同理,设置D2下拉数据集如下:
在关联过滤表达式中输入:货主地区==B2.toString(),并设置触发关联过滤单元格为:B2,完成参数联动设置。
在使用下拉数据集时需要注意:
●注意:下拉数据集的显示列值不能包含英文逗号和分号。因为显示列值对应着下拉数据集的选择项,下拉数据集的不同选择项之间在系统内部是以英文逗号或分号间隔的,如果某一显示列值包含了逗号或分号,那么系统在处理时就会把逗号或分号前后拆成两个选择项。
●注意:下拉数据集的单元格如果使用自动换行属性,否则会导致下拉属性不可用。
●注意:下拉数据集的显示列值中如果包含回车换行,引号之类的特殊字符,可能会在使用“关联过滤”属性后,对 javascript 产生影响,为了屏蔽这些字符的影响,将“清除特殊字符”选项勾选上即可。
●注意:数据集中如果存在重复的显示值,但是有不同的数据值时,那么选择重复的显示值时,返回对应的数据值;如果输入重复的显示值,那么只能返回重复选项中第一个显示值对应的数据值。
最后,为了完成参数传递给数据报表,设置B2和D2格的变量名分别为area和city,前者设置如下图:
编辑数据报表
数据报表用于接收参数模板中传递的参数进行数据过滤展现。
首先新建报表并设置报表参数,参数名与参数模板中变量名一致:
设置报表数据集:
数据集SQL为:SELECT 订单.订单ID,订单.货主地区,订单.货主城市,订单.发货日期,订单.运货商,订单.运货费 FROM 订单 where 货主地区=? and 货主城市=? 。
其中,问号(?)与参数选项卡中的参数对应:
编辑报表表达式:
通过以上步骤完成参数联动报表开发,结合发布报表的页面即可得到开篇中看到的参数联动查询效果。
【转载】http://blog.csdn.net/raqreport/article/details/51126764