参数表单下拉数据集多选联动问题及解决办法
润乾参数表单支持下拉数据集并且支持下拉数据集间的联动,即:选择完第一个下拉框后,后边的下拉框选择时能够自动根据前边的选择进行数据过滤,方便用户查询条件的选择,并且下拉数据集支持多选,通常做法为在下拉数据集的关联过滤表达式中写入:
indexOf 判断是否包含关系,但实际应用中有可能上级字段 app_type_id 是 1,2,3 这种数字,如果用户选择的类别是 10 的话,结果第二层下拉会将 app_type_id 为 1 的数据也列出来,主要是用 indexOf 判断时 10 包含 1 了,这样导致第二个下拉数据集列出的数据有问题,解决办法,关联过滤表达式这可以写 js 语法进行判断,如:
I1.toString().indexOf(',')>=0 ? (','+I1+',').indexOf(','+app\_type\_id+',')>=0 : I1.toString()==app\_type\_id
这样既可以控制,即使第一次选择的id为10,后边也能过滤出正确数据。
更多参数相关类问题请看:参数相关分类导航
* 轻松 get 报表模糊查询技能
* 利用动态参数默认不查询任何数据
* 如何实现参数级联查询
* 参数为空取全部数据的几种做法
* 下拉表关联异步加载不是事儿 - 参数动态过滤
请问有没有更详细的步骤?比如数据库字段是如何设计的。我试了下好像不行。
http://c.raqsoft.com.cn/article/1535094189156 可以看下这个,这个详细点。数据库结构没有特殊要求,只要有过滤字段关联就行,比如第一个下拉是地区,第二个下拉是城市,要求第二个下拉数据集里有一个类似地区字段和前边的关联上