[常用脚本]
参数1控制参数2全选或全不选的脚步如何编写?
美滋滋
显示全部楼层
发表于 2024-3-28 15:21:46
本帖最后由 美滋滋 于 2024-3-28 15:23 编辑
1. 你的列表参数组件名称确定是 "列表参数1"
2. 你的列表参数组件预览时是否有数据?
我这里实测是没问题的
|
|
|
|
|
美滋滋
显示全部楼层
发表于 2024-3-28 15:31:23
下面是我这边做的实例
从图片可以看到组件名称以及列表参数组件被全部选择了
|
|
|
|
|
咕咕吉
显示全部楼层
发表于 2024-3-29 09:54:17
非常感谢,你还做了个测试,我检查了一下都没问题。但是他就是报错(我这截图也贴不了。。。系统说包含不良信息。。。)
|
|
|
|
|
美滋滋
显示全部楼层
发表于 2024-3-29 10:21:01
|
|
|
|
美滋滋
显示全部楼层
发表于 2024-3-29 10:23:20
本帖最后由 美滋滋 于 2024-3-29 10:24 编辑
你新建一个报表,就拉一个列表参数组件,写上这两行代码,报错吗?对了,我突然想到,你的列表参数组件绑定数据了吗?要是没绑定数据,会报空指针错误。
|
|
|
|
|
咕咕吉
显示全部楼层
发表于 2024-3-29 19:34:07
本帖最后由 yhdata_kY2oZeOp 于 2024-3-29 19:44 编辑
不好意思,再请教一下,我写了下面的脚本在全局的变化时装载中。但是不论下拉参数1选择是还是否,结果都是列表参数1全选了。不知道是不是因为下拉参数更改后不触发提交,也就是不触发报告变化?
if(下拉参数1.value="否"){
列表参数1.setSelectedObjects(null);
}
if(下拉参数1.value="是"){
var a = 列表参数1.getObjects();
var arr = [];
for (i=0;i<a.length;i++) {
arr.push(a[i][0)
}
列表参数1.setSelectedObjects(arr,STRING);
}
|
|
|
|
|
美滋滋
显示全部楼层
发表于 2024-4-1 09:35:19
你的脚本有以下几点问题:
1. 条件判等要用 "==" 而不是 "="
2. 列表参数1设定全都不选择不是用 列表参数1.setSelectedObjects(null),而是用列表参数1.setSelectedObjects([],STRING)
3. 想判断下拉参数组件当前选择的是什么,需要用脚本 下拉参数1.getSelectedObjects()[0],而不是下拉参数1.value。
4. 数组arr的辅助处理,不用写在变化运行时,直接写在加载时运行脚本中就可以了,这样就不用每次变化都重新赋值了,提高脚本效率。
综上,脚本修改如下:
1. 加载时运行添加如下脚本
var a = 列表参数1.getObjects();
var arr = [];
for (i=0;i<a.length;i++) {
arr.push(a[0])
}
2. 变化时运行中增加如下脚本
if(下拉参数1.getSelectedObjects()[0]=="否"){
列表参数1.setSelectedObjects([],STRING);
}
if(下拉参数1.getSelectedObjects()[0]=="是"){
列表参数1.setSelectedObjects(arr,STRING);
}
|
|
|
|
|
yhdata_C4EWRhEE
显示全部楼层
发表于 2024-4-1 10:12:06
|
|
|
|
咕咕吉
显示全部楼层
发表于 2024-4-1 16:15:49
|
|
|
|
咕咕吉
显示全部楼层
发表于 2024-4-16 15:44:38
本帖最后由 咕咕吉 于 2024-4-16 15:45 编辑
反馈个问题哈。按照你的建议将脚本分成两部分,一部分放在加载时运行,一部分放在变化时运行,正常选择、查询都ok,但是导出excel数据时,有如下错误提示(导出csv格式数据正常),将加载中那部分脚本挪到变化时运行,不再报错,问题解决。 |
|
|
|
|