[日期过滤]实现日期过滤组件默认显示数据集中的最大日期
本帖最后由 永洪tech-Emily 于 2020-7-14 12:43 编辑
给日期过滤组件设置默认选中最大的日期,这个没有直接设置可以实现,,咱们可以间接来。
步骤一:拖入一个下拉参数组件,和一个日期过滤组件,都绑定日期字段
步骤二:使用一个下拉参数组件(给下拉参数绑定日期字段,并降序排序,在脚本中设置下拉参数默认选择第一个,实现下拉参数默认选中最大日期)
步骤三:将下拉参数选中的值赋值给日期过滤组件
步骤四:隐藏下拉参数组件
在装载时运行写脚本:
//给下拉参数设置选择最大日期
var a=下拉参数1.getObjects()
//debug(a)
下拉参数1.setSelectedObjects([a[1,STRING);
//将该最大日期赋值给日期过滤组件
var b=下拉参数1.getSelectedObjects()[0];
//debug(b)
var y=substring(b,0,4)
var m=parseInt(substring(b, 5,7))-1
var d=parseInt(substring(b, 8,10))
日期过滤1.firstDates=["t"+y+"-"+m+"-"+d;
//隐藏下拉参数组件
下拉参数1.visible=false
代码一定要看下方截图!!!!直接复制注意中括号
|
|
|
|
|
mu婉清
显示全部楼层
发表于 2020-7-13 20:57:23
本帖最后由 永洪tech-Emily 于 2020-7-14 12:44 编辑
|
|
|
|
|
misszheng
显示全部楼层
发表于 2021-8-6 17:48:26
|
|
|
|
_贝贝
显示全部楼层
发表于 2021-8-6 18:05:22
|
|
|
|
_贝贝
显示全部楼层
发表于 2021-8-6 18:06:31
设置默认值:日期过滤组件范围模式左侧日期默认显示当前时间倒退7天,右侧默认显示今天
解决方法:
报告页面脚本-装载时运行:
var e_date = new Date();
var s_date = dateAdd(e_date,"day",-7);//日期减去七天
var s_year = year(s_date); //获取日期中的年份
var s_month = month(s_date)-1;//获取日期中月份
var s_day = day(s_date);//获取日期中天
var e_year = year(e_date);
var e_month = month(e_date)-1;//月份减1
var e_day = day(e_date);
日期过滤1.firstDates = ["t" + s_year + "-" + s_month + "-" + s_day];
日期过滤1.secondDates = ["t" + e_year + "-" + e_month + "-" + e_day]; |
|
|
|
|
misszheng
显示全部楼层
发表于 2021-8-7 10:04:25
|
|
|
|
环环
显示全部楼层
发表于 2021-8-9 09:27:01
日期过滤组件比较特殊,月份是从0开始的,0才表示1月 |
|
|
|
|
202111111111
显示全部楼层
发表于 2021-8-19 10:45:49
|
|
|
|