场景javascript
在项目中作查询表单或者填报表时,常常会有动态关联的业务需求,好比省市区的关联,润乾填报 / 参数表单报表不只能够实现单个省市区的动态关联,还能够实现多省市区的动态关联。java
下面咱们就以润乾报表示例数据库现有的数据表—客户表和订单表 为例,来举例介绍一下数据多选的动态关联。web
最终效果数据库
实现步骤blog
单元格表达式以下图ip
** 其中,** 报表数据集及参数设置以下ci
其中get
数据集 SQL 以下it
重点设置为 C二、E二、G2 单元格实现国家 省 市 的多选关联过滤,具体设置以下:变量
C2 单元格:设置 web 变量名为 arg1,同时设置编辑风格为 下拉数据集 取值 ds2. 国家,以下
E2 单元格:设置 web 变量名为 province,同时设置编辑风格为 下拉数据集 取值 ds2. 省份,关联过滤表达式:(‘,’+C2.toString()+‘,’).indexOf(‘,’+ 国家 +‘,’) >= 0,触发关联过滤单元格为 C2,以下
G2 单元格:设置 web 变量名为 city,同时设置编辑风格为 下拉数据集 取值 ds2. 城市,关联过滤表达式:(‘,’+E2.toString()+‘,’).indexOf(‘,’+ 省份 +‘,’) >= 0,触发关联过滤单元格为 E2,以下
到这里咱们就完成了数据多选的动态关联。
本文要点:
掌握关联过滤表达式的用法,以 E2 的表达式为例解析以下:
E2 关联过滤表达式:(‘,’+C2.toString()+‘,’).indexOf(‘,’+ 国家 +‘,’) >= 0
意为:从 E2 中检索与 C2 所选国家相符的省份。
此关联表达式灵活结合了 javascript 的 indexOf() 方法,方法说明:
课外扩展: