找文章 / 找答案
精选问答 更多内容

范围过滤使用脚本赋值

No上善若水白银二 显示全部楼层 发表于 2021-1-14 17:35:29 |阅读模式 打印 上一主题 下一主题
背景:有两个报告,都用到了范围过滤,时间类型的,希望在第一份报告中选择的时间范围能传到第二份报告中,然后在第二份报告中设置时间范围的范围,现在问题是能获取都勾选的时间范围,但是赋值不太明白怎么操作,我看到有赋值的方法:列表参数1.setSelectedObjects(["East", "West"], STRING);
但是不太明白这个这使用,请问有大佬能讲一下吗。
例如的我的时间范围是2020-01-01到2020-12-30,请问该怎么把这个值赋给时间范围过滤呢?是那个范围过滤组件。
回复

使用道具 举报

精彩评论24

永洪tech-A白银一 显示全部楼层 发表于 2021-1-15 13:07:28
var a = getData("范围过滤1").size();        //获取范围过滤的所有数据个数 //debug(a);
var sum = 0;
var c = new Array();
for(var i=0;i<a;i++){   
  var b =范围过滤1.getSelectedObjects();        //获取范围过滤所选的数据   
    if(b!=null){        //判断选择项是否为空      
   sum=sum+1;  
       c.push(b);
               debug(c)
             //范围过滤2.setSelectedObjects([c],STRING)
    }
}
//debug("起始位置:"+c[0]+"   终止位置:"+c[sum-1]);
范围过滤2.setSelectedObjects(c,STRING)
回复 支持 反对

使用道具 举报

永洪tech-A白银一 显示全部楼层 发表于 2021-1-15 13:10:09
No上善若水 发表于 2021-1-14 17:35
背景:有两个报告,都用到了范围过滤,时间类型的,希望在第一份报告中选择的时间范围能传到第二份报告中, ...

我们脚本给范围过滤赋值的话就是将起始和末尾之间的数据全都赋值一次
回复 支持 反对

使用道具 举报

No上善若水白银二 显示全部楼层 发表于 2021-1-15 15:47:17
永洪tech-A 发表于 2021-1-15 13:10
我们脚本给范围过滤赋值的话就是将起始和末尾之间的数据全都赋值一次

好的好的,谢谢解答!!!
回复 支持 反对

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-1-21 13:52:37
No上善若水 发表于 2021-1-15 15:47
好的好的,谢谢解答!!!

你这个问题解决了吗?我觉得一楼回复的不太对。
回复 支持 反对

使用道具 举报

No上善若水白银二 显示全部楼层 发表于 2021-1-21 14:26:08
lijie 发表于 2021-1-21 13:52
你这个问题解决了吗?我觉得一楼回复的不太对。

他这个做法是直接查出所有选择的时间数据,然后再赋值给范围过滤,这个组件需要的是一个数组,而不是最大值最小值,所以不能直接赋值最大值和最小值,修改需求,不用这个方法了,囧。
回复 支持 反对

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-1-21 14:29:43
本帖最后由 lijie 于 2021-1-21 14:43 编辑

不对,我又仔细的看了一下一楼的回复信息,我现在觉得是可以实现你的需求了。刚才理解错了。
回复 支持 反对

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-1-21 14:44:45
No上善若水 发表于 2021-1-21 14:26
他这个做法是直接查出所有选择的时间数据,然后再赋值给范围过滤,这个组件需要的是一个数组,而不是最大 ...

如果你想获取范围过滤1选择的最大最小值,那么一楼获取的选择数据的数组中,不就有吗
回复 支持 反对

使用道具 举报

美滋滋白银二 显示全部楼层 发表于 2021-1-21 15:03:31
其实就是两行代码就可以
var a =范围过滤1.getSelectedObjects();              //获取范围过滤1所选的数据   
范围过滤2.setSelectedObjects(a,STRING)          //设置范围过滤2的选择范围与范围过滤1的选择范围一致

这样就可以保证范围过滤2和范围过滤1选择的范围是一致的了
回复 支持 反对

使用道具 举报

No上善若水白银二 显示全部楼层 发表于 2021-1-22 08:58:10
lijie 发表于 2021-1-21 15:03
其实就是两行代码就可以
var a =范围过滤1.getSelectedObjects();              //获取范围过滤1所选的数据 ...

我感觉不太妥,因为是时间轴,如果获取选择的数据的话,可能存在几百个数据,把这些数据都加到超链接中感觉不太好,而且我这边也放弃给范围过滤组件传参的
回复 支持 反对

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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