快逸报表可多选的动态关联过滤
在开发数据输入页面时,经常遇到这样的情况,两个下拉框的数据是存在业务联系的,例如一个是省份的下拉数据集,另一个是城市的下拉数据集,还有一个是区的下拉数据集,当省份的下拉数据集选择黑龙江时,城市的下拉数据集只有选择黑龙江省的城市,才是合理的数据,否则会出现错误。此时,为了避免错误,最理想的情况是当省份下拉数据集选择了黑龙江,那么城市的下拉框自动关联生成黑龙江省的城市下拉列表,其它省份的城市被动态过滤掉,这种功能称为动态关联过滤。动态关联过虑在快逸中能够很容易的实现,只要简单的设置关联过滤表达式和触发关联过滤的单元格即可。
下面主要介绍如何在参数值多选的情况下进行动态关联过滤。比如省希望选择黑龙江,辽宁,市区为黑龙江和辽宁所包括的市区。这种是普遍需求,做法也很简单。
功能效果图
1、省/直辖市 选择为黑龙江和辽宁
2、市县则应列出所有属于黑龙江和辽宁的市县
3、区则为所有属于哈尔滨和大连的区
4、整体效果
实现步骤
1、设置数据集,创建报表模板,如下图
2、在需要动态过滤的单元格里,设置关联过滤的条件表达式,并设置触发单元格
B3单元格的设置如下图
D3单元格的设置如下:
需要注意的两个地方:
是关联过滤表达式为:(’,’+B3.toString()+’,’).indexOf(’,’+省+’,’) >= 0
触发关联过滤单元格为:${B3}
F3单元格设置如下:
需要注意的两个地方:
是关联过滤表达式为:(’,’+D3.toString()+’,’).indexOf(’,’+市+’,’) >= 0
触发关联过滤单元格为:${B3},${D3}
总结:通过快逸报表的动态关联过滤功能可以避免写复杂的js。设置关联过滤表达式和触发单元格可以灵活的实现单一数据以及多数据的动态关联以及级联动态关联。
发布日期:2010/04/02
本文分类:
设计基础