起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4847|回复: 11

[处理中] filter中的日期字段

[复制链接]

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
发表于 2016-2-26 09:21:16 | 显示全部楼层 |阅读模式
dispData.setFilter('clzbhFil', "clzbh = '"+event.data.clzbh+"' and substring(jbsj,1,10) = '"+ justep.Date.toString(new Date(),justep.Date.STANDART_FORMAT_SHOT) +"'");


报错:报错:参数数据类型 datetime 对于 substring 函数的参数 1 无效。


请问如何先将jbsj转成字符串格式的

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-2-26 09:24:09 | 显示全部楼层
js中把日期转换为字符是标准的,可以到网上查找

转换之后再到Filter中操作

而且substring的参数是两个http://www.w3school.com.cn/jsref/jsref_substring.asp
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-26 10:41:46 | 显示全部楼层
本帖最后由 tlkj 于 2016-2-26 10:45 编辑


                dispData.setFilter('clzbhFil', "clzbh = '"+event.data.clzbh+ "'");
                dispData.setFilter('jbsjFil', "jbsj.toString().substring(1,10) = '"+ justep.Date.toString(new Date(),justep.Date.STANDART_FORMAT_SHOT) +"'");


没有理解,麻烦您直接给出答案可以吗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-2-26 10:55:46 | 显示全部楼层
var now=new Date();
var str=now.toString().substring(1,10);

setFilter中用的str
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-26 11:31:38 | 显示全部楼层
dispData.setFilter('jbsjFil', "jbsj.toString().substring(1,10) = '"+ justep.Date.toString(new Date(),justep.Date.STANDART_FORMAT_SHOT) +"'");



其中jbsj是我的概念中一个关系,是datetime类型的,我要截取其中的yyyy-MM-dd, 取得等于今天日期的数据
我是没有明白你写的new Date()  跟我的jbsj有什么关系
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-2-26 13:17:31 | 显示全部楼层
我只是给你一个例子,js中Date和String的转换以及截取怎么处理
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-26 13:35:37 | 显示全部楼层
我写成下面这样,不知道哪里理解错了
dispData.setFilter('jbsjFil', "jbsj.toString().substring(1,10) = '"+ justep.Date.toString(new Date(),justep.Date.STANDART_FORMAT_SHOT) +"'");

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-2-26 14:24:48 | 显示全部楼层
setFilter中写的条件就是ksql中的where条件,你现在写的语法是js的语法,肯定不对啊

  1. var data = this.comp("mainData");
  2.         var datetime = data.getValue("fRQSJ");
  3.         var date = datetime.toString().substring(0,9);
  4.         data.setFilter("filter1", "'"+date+"' = DateToString(:currentDate())");
  5.         data.refreshData();
复制代码
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

432

主题

1943

帖子

2630

积分

金牌会员

Rank: 6Rank: 6

积分
2630
QQ
 楼主| 发表于 2016-2-26 17:33:11 | 显示全部楼层
               var datetime = dispData.val("jbsj");
                var date = datetime.toString().substring(0,9);               
                dispData.filters.clear();
                dispData.setFilter('clzbhFil', "clzbh = '"+event.data.clzbh+ "'");
                dispData.setFilter("jbsjFil", "'" + date + "' = '2016-02-26'");
                dispData.refreshData();


报错,原因是:
dispDate的属性autoLoad = false;所以开始取不到 var datetime = dispData.val("jbsj");

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36064
发表于 2016-2-26 18:08:00 | 显示全部楼层
var data = this.comp("mainData");  
data.setFilter("filter1", "substring(AP_RQ.fRQSJ,0,9) = DateToString(:currentDate())");
data.refreshData();
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-22 10:15 , Processed in 0.102190 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表