永洪社区

标题: 参数赋值问题 [打印本页]

作者: wpy7206    时间: 2024-11-8 10:40
标题: 参数赋值问题
请教个问题,我的树状过滤里有两个层级,我现在想要把第二个层级的数据提取出来赋值给列表参数1,但是列表参数1不显示,请问是我的脚本有什么问题吗?
var sels = 树状过滤1.getSelectedObjects();
var filter = new Array();
var subFilter = new Array();
if(sels.length > 0){
for(var i = 0; i < sels.length; i++) {
for(var j= 0; j < sels[i.length; j++) {
if(j == 0){
filter[i]=sels[i][j
}
else if(j==1){
subFilter[i]=sels[i][j
}
else {
thiFilter[i]=sels[i][j
}
}
}
}
param["列表参数1"]=树状过滤1.subFilter



作者: yhbi老6了    时间: 2024-11-8 10:40
其实大家早已经给你点到点子上了,保持一致就是用.setSelectedObjects,这个你自己也可以拉一个参数组件测试一下的。你自己调不对,是你对编程接触较少,不够敏感。
此处你用setSelectedObjects,你要传递的是一个字符串,不是一个数组,你要从 树状过滤 中拿到值,debug确定无误后,再用
列表参数1.setSelectedObjects([a], STRING);

简单来说,列表参数1可选值有 A ,B,C,你要设置选中C,就是
a='C'
列表参数1.setSelectedObjects([a], STRING);
而不是
a=['C'] 或者是 a=[['C'],['B']]
列表参数1.setSelectedObjects([a], STRING);
作者: yhdata_lyaa    时间: 2024-11-8 11:02
当前是什么版本的
作者: wpy7206    时间: 2024-11-8 11:03
yhdata_lyaa 发表于 2024-11-8 11:02
当前是什么版本的

9.0
作者: yhbi老6了    时间: 2024-11-8 11:15
  1. var sels = 树状过滤1.getSelectedObjects();
  2. var filter = new Array();
  3. var subFilter = new Array();
  4. if(sels.length > 0){
  5. for(var i = 0; i < sels.length; i++) {
  6. for(var j= 0; j < sels[i.length; j++) {
  7. if(j == 0){
  8. filter[i]=sels[i][j
  9. }
  10. else if(j==1){
  11. subFilter[i]=sels[i][j
  12. }
  13. else {
  14. thiFilter[i]=sels[i][j
  15. }
  16. }
  17. }
  18. }
  19. 列表参数1.列表参数1.setSelectedObjects([树状过滤1.subFilter],STRING)
  20. param["列表参数1"]=树状过滤1.subFilter
复制代码



作者: wpy7206    时间: 2024-11-8 11:15
wpy7206 发表于 2024-11-8 11:03
9.0

欸,没有欸,为什么是空呢
作者: yhbi老6了    时间: 2024-11-8 11:15
少了一句setSelectedObjects
作者: yhbi老6了    时间: 2024-11-8 11:16
参数是组件产生的,二者是独立对象,组件可以作用作用于参数,参数不可以反作用于组件。
作者: leo675    时间: 2024-11-8 11:21
这个脚本是什么意思 ?
作者: yhdata_lyaa    时间: 2024-11-8 11:21
wpy7206 发表于 2024-11-8 11:03
9.0

试试设置组件勾选数据。
例如:列表参数1.setSelectedObjects(["East", "West"], STRING);
作者: wpy7206    时间: 2024-11-8 11:39
yhdata_Dkp2dKHh 发表于 2024-11-8 11:26
树状过滤组件绑定的数据哪个不是直接可以拖动绑定吗?再拖一次给其他参数组件不行吗- - ...

但是我刚试了下,过滤组件勾选后,参数组件没有同步变化呢
作者: yhdata_lyaa    时间: 2024-11-8 11:45
试试


作者: wpy7206    时间: 2024-11-8 11:59
yhdata_lyaa 发表于 2024-11-8 11:45
试试

还是不行呢,我是这么写的,看着一样呀
var sels = 树状过滤1.getSelectedObjects();
var filter = new Array();
var subFilter = new Array();
var a=[]
if(sels.length > 0){
for(var i = 0; i < sels.length; i++) {
for(var j= 0; j < sels.length; j++) {
if(j == 0){
filter=sels[j]
}
else if(j==1){
subFilter=sels[j]
a.push(sels[j])
}
else {
thiFilter=sels[j]
}
}
}
}
debug(a.join(','))
列表参数1.setSelectedObjects([a], STRING)
作者: wpy7206    时间: 2024-11-8 12:00
yhdata_Dkp2dKHh 发表于 2024-11-8 11:50
没搞懂你想干嘛,看你内容描述,如果你想参数组件和过滤组件显示一样,那就 都绑定同一个数据列,脚本里 ...

我的目的是要参数组件和过滤组件显示一样,但是请教下你这个脚本要怎样写呀
作者: wpy7206    时间: 2024-11-8 12:32

我按照你的代码改了还是不行,是组件有单独设置吗
var sels = 树状过滤1.getSelectedObjects();
var filter = new Array();
var subFilter = new Array();
var a=[]
if(sels.length > 0){
for(var i = 0; i < sels.length; i++) {
for(var j= 0; j < sels.length; j++) {
if(j == 0){
filter=sels[j]
}
else if(j==1){
subFilter=sels[j]
a.push(sels[j])
}
else {
thiFilter=sels[j]
}
}
}
}
debug(a.join(','))
列表参数1.setSelectedObjects([a], STRING);
作者: wpy7206    时间: 2024-11-8 13:25
yhbi老6了 发表于 2024-11-8 13:19
其实大家早已经给你点到点子上了,保持一致就是用.setSelectedObjects,这个你自己也可以拉一个参数组件测 ...

明白了,感谢点拨,这回成功了,谢谢。




欢迎光临 永洪社区 (http://club.yonghongtech.com/) Powered by Discuz! X3.4