[常用脚本] 参数1控制参数2全选或全不选的脚步如何编写?

咕咕吉青铜四 显示全部楼层 发表于 2024-3-28 10:39:02 |阅读模式 打印 上一主题 下一主题
本帖最后由 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([a,b,c,d,e,f,g,h],STRING);
  }

最佳答案

永洪vip
美滋滋 皇冠三 关注Ta

2024-03-28 10:39:03

我大概知道问题了。你的列表参数组件可能不是绑定的数据集中的字段,是自定义的数据吧? 你换下面的脚本试试,应该可以了。 var a = 列表参数1.getObjects(); var arr = []; for (i=0;i
查看完整内容
回复

使用道具 举报

精彩评论20

美滋滋皇冠三 显示全部楼层 发表于 2024-3-28 10:39:03
本帖最后由 美滋滋 于 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) 这条语句时,无法获取到自定义编辑的数据,故此会报空指针错误。
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-3-28 10:49:22
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2024-3-28 11:07:01
下面的脚本是对列表参数全选的脚本,供参考
var a = getData("列表参数1",DATA);
var b = toArray(a,0)
列表参数1.setSelectedObjects(b,STRING)
回复

使用道具 举报

Efheih钻石一 显示全部楼层 发表于 2024-3-28 11:18:37
参数2.pageSelection = true;(全选:true,不选:false)
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2024-3-28 11:23:51
yhdata_Efheih 发表于 2024-3-28 11:18
参数2.pageSelection = true;(全选:true,不选:false)

你确定这样可以?
去实际验证一下哈。
回复

使用道具 举报

咕咕吉青铜四 显示全部楼层 发表于 2024-3-28 11:25:24
美滋滋 发表于 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:25:25
美滋滋 发表于 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:50:25
yhdata_kY2oZeOp 发表于 2024-3-28 11:25
/*if (参数1.value= "否") {    //请问这里参数1.value="否"用的对吗?参数1是下拉参数    参数2.setSele ...

var a = getData("列表参数组件名称",DATA);

回复

使用道具 举报

咕咕吉青铜四 显示全部楼层 发表于 2024-3-28 15:18:42
美滋滋 发表于 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)
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部