永洪社区

标题: 跨表将参数赋值给日期过滤组件的问题 [打印本页]

作者: yhdata_38fa8dc0    时间: 2023-7-14 22:09
标题: 跨表将参数赋值给日期过滤组件的问题
各位老师,我有两个表,分别为A表与B表。在A表中我通过脚本设置了 起始日期参数2 与 终止日期参数2。代码如下:
  1. if(日期过滤1.firstDates!=null)
  2. {
  3. var start=日期过滤1.firstDates[0] //获取左边值
  4. var a0=parseDate(start.substring(1,(start.length())),'yyyy-MM-dd');
  5. param['起始日期']=toSQLDate(a0, DType.DATE_TIME);
  6. param['起始日期2']=toSQLDate(dateAdd(param['起始日期'],'month',1), DType.DATE);

  7. var end=日期过滤1.secondDates[0]; //获取右边值
  8. var a1= parseDate(end.substring(1,(end.length())),'yyyy-MM-dd');
  9. param['终止日期']=toSQLDate(a1, DType.DATE_TIME);
  10. param['终止日期2']=toSQLDate(dateAdd(param['终止日期'],'month',1), DType.DATE);

  11. }
复制代码
我在B表里,有一个 日期过滤组件 (名称:日期范围),模式是范围模式,绑定了数据集中的日期字段,我用代码进行了赋值,也能赋上,代码及效果如下:
  1. 日期过滤1.firstDates = toSQLDate(dateAdd(param['起始日期2'],'month',0), DType.DATE);
  2. 日期过滤1.secondDates = toSQLDate(dateAdd(param['终止日期2'],'month',0), DType.DATE);
复制代码

超连接到B表后,提示日期不支持:"2023-06-01";
我数据集中的日期格式为: 2022-01-04 00:00:00


请教各位老师,如何解决这个问题

作者: Dream-lover    时间: 2023-7-14 22:09
与A表没关系,在B表里面,通过将参数再进行格式化设置:
  1. ar a =  toSQLDate(param['起始日期2'],'%Y/%M/%D')
  2. var b =  toSQLDate(param['终止日期2'],'%Y/%M/%D')
  3. var tmp1 = "t" + year(a) + "-" + (month(a) - 1) + "-" + day(a)
  4. var tmp2 = "t" + year(b) + "-" + (month(b) - 1) + "-" + day(b)
  5. 日期过滤1.firstDates = [tmp1]
  6. 日期过滤1.secondDates = [tmp2]
复制代码

作者: 小么小二郎    时间: 2023-7-15 09:48
把时间点去掉后操作是不是可以呢?

作者: yonghong_cai    时间: 2023-7-15 14:37

作者: yhdata_38fa8dc0    时间: 2023-7-16 21:29
小么小二郎 发表于 2023-7-15 01:48
把时间点去掉后操作是不是可以呢?

去掉了,还是不行,提示日期不支持。


下图是我去掉时间后的格式:


作者: yhdata_yzm    时间: 2023-7-17 13:15
debug下你的参数看看是什么样的,为什么用tosqldate
作者: yhdata_38fa8dc0    时间: 2023-7-21 21:19
yhdata_yzm 发表于 2023-7-17 05:15
debug下你的参数看看是什么样的,为什么用tosqldate


是这种格式的

作者: yhdata_D28BBAtI    时间: 2023-7-22 11:55
6666666




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