参数1控制参数2全选或全不选的脚步如何编写?
本帖最后由 yhdata_kY2oZeOp 于 2024-3-28 10:41 编辑当前有:下拉参数1,只能单选“是”“否”;
列表参数2,可以多选a/b/c/d/e/f/g/h;
希望实现:
参数1选“是”,参数2全选,参数1选否,参数2全不选
这个脚本怎么写?只会写一半,全选那个不会写
if (参数1.value= "否") {
参数2.setSelectedObjects(null);
}
else {
//这里全选怎么写?后面的写法?参数2.setSelectedObjects(,STRING);
}
本帖最后由 美滋滋 于 2024-3-29 10:40 编辑
我大概知道问题了。你的列表参数组件可能不是绑定的数据集中的字段,是自定义的数据吧?
你换下面的脚本试试,应该可以了。
var a = 列表参数1.getObjects();
var arr = [];
for (i=0;i<a.length;i++) {
arr.push(a【i】【0】)
}
列表参数1.setSelectedObjects(arr,STRING)
##特别说明1:论坛输入"[]" 时候有问题,故此我上面的脚本中用的全角输入的,你要把全角"【】"换成半角"[]"
##特别说明2:如果是自定义编辑的数据,那么执行a = getData("列表参数1",DATA) 这条语句时,无法获取到自定义编辑的数据,故此会报空指针错误。
全选脚本参考看看https://club.yonghongtech.com/thread-32650-1-1.html 下面的脚本是对列表参数全选的脚本,供参考
var a = getData("列表参数1",DATA);
var b = toArray(a,0)
列表参数1.setSelectedObjects(b,STRING) 参数2.pageSelection = true;(全选:true,不选:false) yhdata_Efheih 发表于 2024-3-28 11:18
参数2.pageSelection = true;(全选:true,不选:false)
你确定这样可以?
去实际验证一下哈。 美滋滋 发表于 2024-3-28 11:07
下面的脚本是对列表参数全选的脚本,供参考
var a = getData("列表参数1",DATA);
var b = toArray(a,0)
/*if (参数1.value= "否") { //请问这里参数1.value="否"用的对吗?参数1是下拉参数 参数2.setSelectedObjects(null);
}
else {
var a = getData("参数2.data",DATA); //请问这里参数2,直接用双引号就行了?还是需要加data这样的后缀?现在我不管加不加后缀,结果都是null
debug(a)
var b = a.size();
var arr1=new Array();
if(a!=null&&a.exists(1,-1,true)){
for(i=b-1;i>0;i--){
arr1=a.get(i,0);
}
参数2.setSelectedObjects(arr1,STRING);}
}
*/
美滋滋 发表于 2024-3-28 11:07
下面的脚本是对列表参数全选的脚本,供参考
var a = getData("列表参数1",DATA);
var b = toArray(a,0)
/*if (参数1.value= "否") { //请问这里参数1.value="否"用的对吗?参数1是下拉参数 参数2.setSelectedObjects(null);
}
else {
var a = getData("参数2.data",DATA); //请问这里参数2,直接用双引号就行了?还是需要加data这样的后缀?现在我不管加不加后缀,结果都是null
debug(a)
var b = a.size();
var arr1=new Array();
if(a!=null&&a.exists(1,-1,true)){
for(i=b-1;i>0;i--){
arr1=a.get(i,0);
}
参数2.setSelectedObjects(arr1,STRING);}
}
*/
yhdata_kY2oZeOp 发表于 2024-3-28 11:25
/*if (参数1.value= "否") { //请问这里参数1.value="否"用的对吗?参数1是下拉参数 参数2.setSele ...
var a = getData("列表参数组件名称",DATA);
美滋滋 发表于 2024-3-28 11:50
var a = getData("列表参数组件名称",DATA);
谢谢。我函数写的没错,列表参数也确实有多个下拉值,但是debug(a)就是为null。怀疑公司系统有问题。。。。而且直接写下面两行就报错:空指针引用异常(null)at line 2
var a = getData("列表参数1",DATA);
var b = toArray(a,0)