永洪社区

标题: 过滤组件选择前后依赖问题 [打印本页]

作者: 小猪快刨    时间: 2021-12-29 10:57
标题: 过滤组件选择前后依赖问题


如上图,我有3个下拉参数过滤组件,系统,部门,区域

我想实现效果:
默认只能下拉选择系统(部门、区域点击下拉后数据为空)
当我选择了系统,部门数据放开,可以选择部门,但区域点击下拉数据仍然为空。
当我选择了系统、部门后,可以选择区域
...

以上系统、部门、区域属于前后依赖关系,用户必须要先选择系统,后选择部门,再选择区域,不能跳过系统,直接选择部门或区域。

作者: 永洪tech-Bella    时间: 2021-12-29 10:57
美滋滋 发表于 2022-2-17 21:26
我觉得这种改动多少都会影响到前面低版本做的报表,如果非要这样改的话,至少给客户一个可以选择的余地, ...

感谢您的反馈。这个问题已经内部确认过了,具体情况如下:
后续正式小版本(V9,V92,V94)会进行逻辑的统一,跟之前一致(保持参数组件默认受未选值策略的控制)
也就是参数组件这样的多级控制需求,想要一级不选,二级数据为空,不允许跨级筛选,仍然可以通过未选值策略来实现,不需要额外加过滤器。
同时新增参数param.exclude.null.query = true ,用于控制参数组件不受未选值策略控制,满足其他需求。默认这个参数为false,受控制(不配置这个参数也是 false)。
因此不影响升级,如果说后续升级92或者94最新版本,不会有影响。
作者: 环环    时间: 2021-12-29 11:33
用三个下拉列表参数组件或者下拉参数组件,一定要用参数组件哦。

分别绑定后,对部门所在的参数组件加过滤器,让系统等于第一个参数组件。这样只有系统筛选后,才可以选择部门。

区域的同理,过滤条件写部门等于第2个参数组件即可




作者: 小猪快刨    时间: 2021-12-29 11:52
你好,不是组件绑定数据的问题,现在3个组件的数据都已经绑定好了,也能通过组件过滤出有效数据。

现在问题是:用户有时不按规则操作,直接下拉选部门或者区域,我需要通过脚本对其进行控制,必须先选择系统,再选择部门,再选择区域。
默认只给系统下拉参数给他选择。部门和区域下拉数据为空。
....
作者: 环环    时间: 2021-12-29 11:57
上面的就是这种效果,你可以先试一下,这样控制之后如果前面的没有选,后面的就没有数据
作者: 小猪快刨    时间: 2021-12-29 14:17
永洪tech-秀秀 发表于 2021-12-29 11:57
上面的就是这种效果,你可以先试一下,这样控制之后如果前面的没有选,后面的就没有数据 ...

你好,加了部门和区域的过滤条件,还是可以选,我这3个组件都加了空选项,和这有关吗?
作者: 环环    时间: 2021-12-29 14:47
有空选项,空还是会显示,但是字段的数据应该还是没有。看下报告设置里面,空选项策略设置的什么呢,要这样做要选择空才行

作者: 小猪快刨    时间: 2021-12-29 15:35
永洪tech-秀秀 发表于 2021-12-29 14:47
有空选项,空还是会显示,但是字段的数据应该还是没有。看下报告设置里面,空选项策略设置的什么呢,要这样 ...

我按以上这样设置了,部门和区域还是可以下拉选择的到数据。
作者: 小猪快刨    时间: 2021-12-29 15:36
yhdata_0e2njcRD 发表于 2021-12-29 15:35
我按以上这样设置了,部门和区域还是可以下拉选择的到数据。

我使用的版本是9.2.3.1,还得麻烦你们帮我看下。如果设置不行,是否可以通过脚本去控制.
作者: 永洪tech-wdr    时间: 2021-12-29 17:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小猪快刨    时间: 2021-12-29 17:46
永洪tech-wdr 发表于 2021-12-29 17:07
您好,我们提供以下替代方案实现这个需求:
当组件1为空时,不显示组件2和组件3;当组件2为空时,不显示 ...

你好,你这个方案,可以做到不要隐藏组件吗?组件还是正常显示,只是组件数据为空。(除了空选项以外)
作者: 永洪tech-wdr    时间: 2021-12-29 19:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 小猪快刨    时间: 2022-1-4 10:26
永洪tech-wdr 发表于 2021-12-29 19:55
修改后的case见附件

你好,目前我按你的脚本,测试了2个过滤组件。我组件用的是下拉参数组件,所以我使用的是setValueCol。
<详情见附件截图>
有2个问题:
1、预览的时候,部门这个组件显示为空,我希望它显示“请选择部门”,只是数据为空,但是这个空选项还是需要显示出来。
2、当我选择了系统组件时,部门组件可以正常显示数据,但我再把系统选择成空选项“请选择系统”时,部门组件仍然有数据。
以上2个问题还需要你们帮我分析下,谢谢

作者: 小猪快刨    时间: 2022-1-5 09:15
自己顶一个
作者: 小猪快刨    时间: 2022-1-7 16:43
顶上去,问题还没有解决
作者: 永洪Tech-CIDX    时间: 2022-1-10 17:53
小猪快刨 发表于 2022-1-4 10:26
你好,目前我按你的脚本,测试了2个过滤组件。我组件用的是下拉参数组件,所以我使用的是setValueCol。

...

1. 新建一个计算列,里面的内容是 null ,当系统未选择数据时,绑定这个计算列,就能看到设置的空选项
2. 新建一个参数,默认值为false,在变化时运行的脚本中,判断是否有选中系统选项,如果选择了,参数值修改为true。并且当参数为false时,部门绑定字段始终为刚才的空计算列,参数值为true时,绑定正常字段
作者: 小猪快刨    时间: 2022-1-13 15:52
永洪Tech-CIDX 发表于 2022-1-10 17:53
1. 新建一个计算列,里面的内容是 null ,当系统未选择数据时,绑定这个计算列,就能看到设置的空选项
2. ...

能给我做个case我导进来看看不?
作者: _贝贝    时间: 2022-1-26 20:30
永洪tech-wdr 发表于 2021-12-29 19:55
修改后的case见附件

您好,这个例子我本地测试是在为绑定的时候为空的,希望显示请选择部门是希望改变下拉参数的标题吗
作者: _贝贝    时间: 2022-1-26 20:34
本帖最后由 永洪tech-Muse 于 2022-1-26 20:58 编辑
小猪快刨 发表于 2022-1-4 10:26
你好,目前我按你的脚本,测试了2个过滤组件。我组件用的是下拉参数组件,所以我使用的是setValueCol。

...

空选项在绑定字段的时候会出现,这个脚本是绑定字段,那么不能既要绑定字段又要展示不展示其他数据只展示空选项
作者: _贝贝    时间: 2022-1-26 20:43
永洪tech-Muse 发表于 2022-1-26 20:34
请问是想要这样的效果吗,当没有选择的时候会出现标题‘请选择xxx’,可以直接在右侧设置
...

或者可以直接设置默认值,这样会显示空选项‘请选择’
作者: 小猪快刨    时间: 2022-2-16 19:38
1. 新建一个计算列,里面的内容是 null ,当系统未选择数据时,绑定这个计算列,就能看到设置的空选项
2. 新建一个参数,默认值为false,在变化时运行的脚本中,判断是否有选中系统选项,如果选择了,参数值修改为true。并且当参数为false时,部门绑定字段始终为刚才的空计算列,参数值为true时,绑定正常字段


我按上面的方法做了,系统下拉组件没做控制,因为客户首先要选择系统;部门实现了,区域还没实现,选了系统和部门,区域下拉组件仍然是空。




作者: 小猪快刨    时间: 2022-2-16 19:41
本帖最后由 小猪快刨 于 2022-2-16 19:43 编辑

请看附件图片

作者: 永洪tech-Bella    时间: 2022-2-16 20:04
小猪快刨 发表于 2022-2-16 19:41
请看附件图片

这个效果,可以吗?
(, 下载次数: 11)