润乾报表编辑风格-可多选的动态关联过滤
问题场景
在项目中做查询表单或者填报表时,经常会有动态关联的业务需求,比如省市区的关联,润乾填报/参数表单报表不仅可以实现单个省市区的动态关联,还可以实现多省市区的动态关联。
功能效果图
1:省/直辖市 选择为黑龙江和辽宁
2:市县则应列出所有属于黑龙江和辽宁的市县
3:区则为所有属于哈尔滨和大连的区
4:整体效果
实现步骤
1、设置数据集,创建报表模板,如下图
2、在需要动态过滤的单元格里,设置关联过滤的条件表达式,并设置触发单元格
B3单元格的设置如下图
D3单元格的设置如下:
需要注意的两个地方:
是关联过滤表达式为:(‘,’+B3.toString()+’,').indexOf(‘,’+省+’,') >= 0 或者直接写为(B3.toString()).indexOf(省) >= 0
触发关联过滤单元格为:${B3}
F3单元格设置如下:
需要注意的两个地方:
关联过滤表达式为:(‘,’+D3.toString()+’,').indexOf(‘,’+市+’,') >= 0 and (‘,’+B3.toString()+’,').indexOf(‘,’+省+’,') >= 0 或者直接写为:(D3.toString()).indexOf(市) >= 0 and (B3.toString()).indexOf(省)>= 0
触发关联过滤单元格为:${B3},${D3}
总结
润乾报表的动态关联过滤功能可以避免写复杂繁琐的JavaScript。设置关联过滤表达式和触发单元格可以灵活的实现单一数据以及多数据的动态关联,只需要根绝业务情况设置不同的关联过滤表达式即可。