永洪社区

标题: 筛选框默认选择 [打印本页]

作者: yh_sYTo5Xd5    时间: 2022-4-29 16:32
标题: 筛选框默认选择
默认选择带有A的选项 脚本该怎么写
作者: 永洪eva    时间: 2022-4-29 17:02
可以试一下这个脚本:
var xx = 下拉列表参数1.getSelectedObjects().join()
if(search('A',xx,1)!=0)
{
下拉列表参数1.setSelectedObjects(['A'],STRING)
}
作者: yh_sYTo5Xd5    时间: 2022-4-29 17:09
永洪eva 发表于 2022-4-29 17:02
可以试一下这个脚本:
var xx = 下拉列表参数1.getSelectedObjects().join()
if(search('A',xx,1)!=0)

是默认选择带有A的哦 不是默认选项A
这个脚本报错了 :异常(invalid search index)
作者: 永洪eva    时间: 2022-4-29 17:26
这个脚本逻辑是会选项值里是否带A, 您是想通过筛选器来选取某字段中带A的这个字段值是吗?
作者: yh_sYTo5Xd5    时间: 2022-5-5 18:16
永洪eva 发表于 2022-4-29 17:26
这个脚本逻辑是会选项值里是否带A, 您是想通过筛选器来选取某字段中带A的这个字段值是吗? ...

是的 选项中有 ××A,××C
想要默认勾选带A的选项
作者: humming    时间: 2022-5-5 19:44
yh_sYTo5Xd5 发表于 2022-5-5 18:16
是的 选项中有 ××A,××C
想要默认勾选带A的选项

var xx = 下拉列表参数1.getObjects();
var sel = [];
//debug("list:___ " + xx);
for(var i = 0 ; xx && i < xx.length; i++) {
debug("sel 11:___ " + i + ", x=" +xx[0]+ ", x=" +xx[1] + ",ss=" + indexOf(xx[1],'啡',0));
    if(indexOf(xx[1],'啡',0) >= 0)
    {
    sel.push(xx[1]);
    }
}
// debug("sel:___ " + sel);
下拉列表参数1.setSelectedObjects(sel,STRING)
作者: yanieye    时间: 2022-5-5 19:47
//以下脚本写在报告的装载时运行脚本里面
var vals = 下拉列表参数1.getObjects();
var svals = new Array();

for(var i = 0; vals != null && i < vals.length; i++) {
   var val = vals[i][0];

   if(val != null && indexOf(val, "A") > -1) {
      svals[svals.length] = val;
    }
}

if(svals.length > 0) {
   下拉列表参数1.setSelectedObjects(svals, STRING);
}
作者: yh_sYTo5Xd5    时间: 2022-5-6 13:20
yanieye 发表于 2022-5-5 19:47
//以下脚本写在报告的装载时运行脚本里面
var vals = 下拉列表参数1.getObjects();
var svals = new Array( ...

你好  这里列表参数的值是111 对应标签是BBA
想要根据这个标签名称来默认勾选该怎么实现呢  
作者: humming    时间: 2022-5-6 13:35
yh_sYTo5Xd5 发表于 2022-5-6 13:20
你好  这里列表参数的值是111 对应标签是BBA
想要根据这个标签名称来默认勾选该怎么实现呢   ...

val 是数组,0是value,1是label。 可以debug出来试试看
作者: 永洪tech-lucy    时间: 2022-5-6 13:50
yh_sYTo5Xd5 发表于 2022-5-6 13:20
你好  这里列表参数的值是111 对应标签是BBA
想要根据这个标签名称来默认勾选该怎么实现呢   ...

脚本示例如下,可根据情况选择是要设置 标签还是值:
var xx = 下拉列表参数1.getObjects()
//debug(xx[1])    --获取的是 标签
//debug(xx[j][0])    --获取的是 值
var view = [];
var value = [];
for(var i = 0 ; xx && i < xx.length; i++) {
    if(indexOf(xx[i][1,'a',0) >= 0)
    {
//    view.push(xx[1]);
    value.push(xx[i][0);
    }
}
//debug("view: " + view);
//debug("value: " + value);
下拉列表参数1.setSelectedObjects(value,STRING)


参数组件的数据如图:
(, 下载次数: 239)