永洪社区

标题: 列表组件参数的自动填入 [打印本页]

作者: yhdata_rc47Sq5g    时间: 2023-3-23 14:33
标题: 列表组件参数的自动填入
本帖最后由 yhdata_rc47Sq5g 于 2023-3-23 14:36 编辑


比如我在这里进行月度数据筛选,点击一个2021,然后后面的季度数据筛选年的部分,和年度数据筛选那里,都可以自动填入2021,怎么实现呢?

简单来说我想实现1.选月度数据的年,季度自动填入年份,年度自动填入。
2.选季度,年度自动填入,月度自动为空。
3.选年度,季度、月度为空。
4.进入系统默认当前的月、季、年


作者: yhdata_lyaa    时间: 2023-3-23 14:33
yhdata_rc47Sq5g 发表于 2023-3-23 18:05
我试了,老师,这个方法,我选04没反应,05才会变成Q2
var monthv = 月度筛选月.getSelectedObjects()[0;
...

用>-1,不要>0
作者: yhdata_lyaa    时间: 2023-3-23 14:44
写脚本思路,先获取月度数据的年,再设置其他下拉框选种的值
参考
https://www.yonghongtech.com/rea ... =getSelectedObjects
作者: yhdata_rc47Sq5g    时间: 2023-3-23 15:11
yhdata_lyaa 发表于 2023-3-23 14:44
写脚本思路,先获取月度数据的年,再设置其他下拉框选种的值
参考
https://www.yonghongtech.com/real-help/ ...

我先试试
作者: yhdata_lyaa    时间: 2023-3-23 15:12
yhdata_rc47Sq5g 发表于 2023-3-23 15:11
我先试试


作者: yhdata_rc47Sq5g    时间: 2023-3-23 15:52
yhdata_lyaa 发表于 2023-3-23 15:12

var monthv = 月度筛选月.getSelectedObjects();
if(monthv in  ['01','02','03'])
{
quar = 'Q1'
}else if(monthv in['04','05','06'])
{
quar = 'Q2'
}else if(monthv in ['07','08','09'])
{
quar = 'Q3'
}
else{
quar = 'Q4'
}


季度筛选季.setSelectedObjects([quar],STRING);
老师,我想写这个,是我哪里写错了么,。没反应。就是01,02,03的时候,季度数据的季度为Q1
作者: yhdata_rc47Sq5g    时间: 2023-3-23 16:25
yhdata_lyaa 发表于 2023-3-23 14:44
写脚本思路,先获取月度数据的年,再设置其他下拉框选种的值
参考
https://www.yonghongtech.com/real-help/ ...

老师,还在么?救命啊
作者: yhdata_lyaa    时间: 2023-3-23 16:29
yhdata_rc47Sq5g 发表于 2023-3-23 15:52
var monthv = 月度筛选月.getSelectedObjects();
if(monthv in  ['01','02','03'])
{

好像不支持in 这种写法,你写成==吧
作者: yhdata_rc47Sq5g    时间: 2023-3-23 16:29
yhdata_lyaa 发表于 2023-3-23 16:29
好像不支持in 这种写法,你写成==吧

好吧。。。
作者: yhdata_lyaa    时间: 2023-3-23 16:31
yhdata_rc47Sq5g 发表于 2023-3-23 16:29
好吧。。。


作者: yhdata_rc47Sq5g    时间: 2023-3-23 16:38
yhdata_lyaa 发表于 2023-3-23 16:29
好像不支持in 这种写法,你写成==吧

var monthv = 月度筛选月.getSelectedObjects();

var li1 = ['01','02','03'];
var li2  = ['04','05','06'];
var li3  = ['07','08','09'];
var li4  = ['10','11','12'];


if(li1.indexOf(monthv)>0)
{
quar = 'Q1';
}else if(li2.indexOf(monthv)>0)
{
quar = 'Q2';
}else if(li3.indexOf(monthv)>0)
{
quar = 'Q3';
}else if(li4.indexOf(monthv)>0)
{
quar = 'Q4';
}

季度筛选季.setSelectedObjects(quar,STRING);

老师,这样会报错,说空指针异常

作者: yhdata_lyaa    时间: 2023-3-23 17:40
参考


作者: yhdata_rc47Sq5g    时间: 2023-3-23 17:58
yhdata_lyaa 发表于 2023-3-23 17:40
参考

好的,老师,我试试
作者: yhdata_lyaa    时间: 2023-3-23 18:01
yhdata_rc47Sq5g 发表于 2023-3-23 17:58
好的,老师,我试试
还有第一行也注意下,没框出来

作者: yhdata_rc47Sq5g    时间: 2023-3-23 18:05
yhdata_lyaa 发表于 2023-3-23 17:40
参考

我试了,老师,这个方法,我选04没反应,05才会变成Q2
var monthv = 月度筛选月.getSelectedObjects()[0;

var li1 = ['01','02','03';
var li2  = ['04','05','06';
var li3  = ['07','08','09';
var li4  = ['10','11','12';

var li1 = li1.toString();
var li2 = li2.toString();
var li3 = li3.toString();
var li4 = li4.toString();

if(li1.indexOf(monthv)>0)
{
quar = 'Q1';
}else if(li2.indexOf(monthv)>0)
{
quar = 'Q2';
}else if(li3.indexOf(monthv)>0)
{
quar = 'Q3';
}else if(li4.indexOf(monthv)>0)
{
quar = 'Q4';
}

季度筛选季.setSelectedObjects([quar,STRING);



作者: yhdata_rc47Sq5g    时间: 2023-3-23 18:19
yhdata_lyaa 发表于 2023-3-23 17:40
参考

我顺便问一下,老师,我这个是对月进行了这种设置,如果说我现在要对季度进行同样的设置,比如当季度进行了选择之后,月度的筛选自动填入空,并且年度还是随着季度年份的变化而变化。这种设置是不是会和刚刚月度的设置冲突。
作者: yhdata_lyaa    时间: 2023-3-24 09:52
yhdata_rc47Sq5g 发表于 2023-3-23 18:19
我顺便问一下,老师,我这个是对月进行了这种设置,如果说我现在要对季度进行同样的设置,比如当季度进行 ...

没太明白,举个例子呢
作者: yhdata_rc47Sq5g    时间: 2023-3-24 11:18
本帖最后由 yhdata_rc47Sq5g 于 2023-3-24 11:20 编辑
yhdata_lyaa 发表于 2023-3-24 09:52
没太明白,举个例子呢

根据我们上面讨论的,我现在从月的年份开始筛选会自动填入季度的年份,以及年度数据的年份对吧。(选择月份的时候,季度数据的季度也会自动填入了对吧)如果说我现在要对季度进行一些设置,比如当季度进行了选择之后,月度的筛选所有框自动填入空,并且年度也随着季度年份的变化而变化。这种设置是不是会和月度的设置冲突。
作者: yhdata_rc47Sq5g    时间: 2023-3-24 12:01
yhdata_lyaa 发表于 2023-3-24 09:52
没太明白,举个例子呢

怎么说,老师。这下明白了么
作者: yhdata_lyaa    时间: 2023-3-24 14:19
yhdata_rc47Sq5g 发表于 2023-3-24 11:18
根据我们上面讨论的,我现在从月的年份开始筛选会自动填入季度的年份,以及年度数据的年份对吧。(选择月 ...

季度怎么自动填入年份的/ 那你实际写了有冲突嘛
作者: yhdata_rc47Sq5g    时间: 2023-3-24 14:49
yhdata_lyaa 发表于 2023-3-24 14:19
季度怎么自动填入年份的/ 那你实际写了有冲突嘛

//组件自动联动
var yearv = 月度筛选年.getSelectedObjects();
var monthv = 月度筛选月.getSelectedObjects()[0];

//季度
季度筛选年.setSelectedObjects(yearv,STRING);
//年度
年度数据筛选.setSelectedObjects(yearv,STRING);


var li1 = ['01','02','03'];
var li2  = ['04','05','06'];
var li3  = ['07','08','09'];
var li4  = ['10','11','12'];

var li1 = li1.toString();
var li2 = li2.toString();
var li3 = li3.toString();
var li4 = li4.toString();

if(li1.indexOf(monthv)>-1)
{
quar = 'Q1';
}else if(li2.indexOf(monthv)>-1)
{
quar = 'Q2';
}else if(li3.indexOf(monthv)>-1)
{
quar = 'Q3';
}else if(li4.indexOf(monthv)>-1)
{
quar = 'Q4';
}

季度筛选季.setSelectedObjects([quar],STRING);




//组件自动联动
var yearv1 = 季度筛选年.getSelectedObjects();

//季度
月度筛选年.setSelectedObjects(yearv1,STRING);
//年度
年度数据筛选.setSelectedObjects(yearv1,STRING);


这是所有的脚本,前面是从月开始的筛选,然后后面几行是想通过季度来控制,月度和年度的年份筛选。我测试过,进去之后,只有月度的控制。但是想从季度开始去控制,就不行。
作者: yhdata_lyaa    时间: 2023-3-24 15:51
yhdata_rc47Sq5g 发表于 2023-3-24 14:49
//组件自动联动
var yearv = 月度筛选年.getSelectedObjects();
var monthv = 月度筛选月.getSelectedObj ...

会冲突呢,可以试试判断下,但是要点两下才有用

作者: yhdata_rc47Sq5g    时间: 2023-3-24 15:59
yhdata_lyaa 发表于 2023-3-24 15:51
会冲突呢,可以试试判断下,但是要点两下才有用

哈哈哈哈。果然会冲突。没事,谢谢老师哈。
作者: yhdata_rc47Sq5g    时间: 2023-3-24 16:02
yhdata_lyaa 发表于 2023-3-24 15:51
会冲突呢,可以试试判断下,但是要点两下才有用

老师你这个的参数a是什么东西啊
作者: yhdata_lyaa    时间: 2023-3-24 16:14
yhdata_rc47Sq5g 发表于 2023-3-24 16:02
老师你这个的参数a是什么东西啊

新建的一个参数,用参数a的值来判断,实现 点击一次是进入第一个if,再点一次进入第二个if
作者: yhdata_rc47Sq5g    时间: 2023-3-24 16:20
yhdata_lyaa 发表于 2023-3-24 16:14
新建的一个参数,用参数a的值来判断,实现 点击一次是进入第一个if,再点一次进入第二个if ...

哦哦哦,那我新建的这个参数默认是多少呢?
作者: yhdata_lyaa    时间: 2023-3-24 16:23
yhdata_rc47Sq5g 发表于 2023-3-24 16:20
哦哦哦,那我新建的这个参数默认是多少呢?

一个整数就可以吧
作者: yhdata_rc47Sq5g    时间: 2023-3-24 16:39
yhdata_lyaa 发表于 2023-3-24 16:23
一个整数就可以吧

哦好的

作者: yhdata_rc47Sq5g    时间: 2023-3-24 17:19
本帖最后由 yhdata_rc47Sq5g 于 2023-3-24 17:40 编辑
yhdata_lyaa 发表于 2023-3-24 16:23
一个整数就可以吧


var quar = 季度筛选季.getSelectedObjects()[0;

if(quar = 'Q1')
{
monthv = ['01','02','03'
}else if(quar = 'Q2')
{
monthv = ['04','05','06'
}else if(quar = 'Q3')
{
monthv = ['07','08','09'
}else if(quar = 'Q4')
{
monthv = ['10','11','12'
}

月度筛选月.setSelectedObjects(monthv,STRING);


老师,我现在想通过Q1,来控制月度,怎么弄呢。你看下我是不是写错了。



作者: yhdata_rc47Sq5g    时间: 2023-3-27 09:28
yhdata_lyaa 发表于 2023-3-24 16:23
一个整数就可以吧

老师麻烦你看下。我最新发的那个季度控制月度的
作者: yhdata_lyaa    时间: 2023-3-27 09:50
yhdata_rc47Sq5g 发表于 2023-3-27 09:28
老师麻烦你看下。我最新发的那个季度控制月度的

噢噢




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