jQuery MiniUI

标题: datagride的属性dateFormat不生效 [打印本页]

作者: SaintRen    时间: 2016-4-8 10:16:33     标题: datagride的属性dateFormat不生效

使用Binding 数据绑定 这种方式在表单有个datepicker选择时间后 在datagride里时间格式是yyyy-MM-dd 00:00:00这种的

dategride代码为:<div field="beginDatetime" width="120" dateFormat="yyyy-MM-dd" headerAlign="center" allowSort="true">开始时间</div>

绑定的表单时间空间代码为:<input id="beginDatetime" name="beginDatetime" class="miniui-datepicker"/>






作者: felt    时间: 2016-4-8 10:27:42

http://www.miniui.com/demo/#src=databinding/databinding.html
如我们示例出生年月这列不是可以正常格式化吗
从你贴的代码看不出什么问题
作者: SaintRen    时间: 2016-4-8 11:17:06

控件选择之后datagride显示的就是带时分秒的了,这还需要设置哪么?好几个项目里这个都这样,一直是带00:00:00的
作者: felt    时间: 2016-4-8 11:31:51

SaintRen 发表于 2016-4-8 11:17
控件选择之后datagride显示的就是带时分秒的了,这还需要设置哪么?好几个项目里这个都这样,一直是带00:00 ...

从你贴的代码我看不到你哪设置了这样的格式,无从分析
作者: SaintRen    时间: 2016-4-8 11:36:53

felt 发表于 2016-4-8 11:31
从你贴的代码我看不到你哪设置了这样的格式,无从分析

哪都没设置过,就是直接从你们官网copy的源码,执行之后页面就那效果
作者: felt    时间: 2016-4-8 11:41:43

SaintRen 发表于 2016-4-8 11:36
哪都没设置过,就是直接从你们官网copy的源码,执行之后页面就那效果

http://www.miniui.com/demo/#src=databinding/databinding.html
如我们示例,并没有你这样的诡异情况
作者: wednsbay1    时间: 2016-10-26 13:34:18

这情况我也遇到了,应该是显示yyyy-mm-dd,但插入DB  还是带0:00:0 的  ,然后再表现 grid 就成这个样子了,yyyy-mm-dd 0:00:0
原因应该是 dateformat 本身就是个 renderer
所以 不如直接自己写一个这样的  renderer 就避免了这样的问题。
作者: wednsbay1    时间: 2016-10-26 13:37:20

wednsbay1 发表于 2016-10-26 13:34
这情况我也遇到了,应该是显示yyyy-mm-dd,但插入DB  还是带0:00:0 的  ,然后再表现 grid 就成这个样子 ...

第二种原因,DB 对应字段的属性,是DATETIME  所以插入 自动 带上0:00:0 ,
DB 抽出的时候,为 yyyy-mm-dd 0:00:0  
作者: dforce    时间: 2016-10-26 13:44:36

wednsbay1 发表于 2016-10-26 13:37
第二种原因,DB 对应字段的属性,是DATETIME  所以插入 自动 带上0:00:0 ,
DB 抽出的时候,为 yyyy-mm ...

请参考我们试用包内对时间数据的处理
后台传递出来的必须是yyyy-MM-dd HH:mm:ss或yyyy-MM-ddTHH:mm:ss两种格式我们才会自动转换成时间
如果你传递出来的是yyyy-MM-dd H:mm:s是不会当时间转化,只会当成字符串,你给什么就显示什么
作者: wednsbay1    时间: 2016-10-26 13:48:31

dforce 发表于 2016-10-26 13:44
请参考我们试用包内对时间数据的处理
后台传递出来的必须是yyyy-MM-dd HH:mm:ss或yyyy-MM-ddTHH:mm:ss两 ...

2016/10/26 0:00:00
这种格式的 不会转化咯
作者: dforce    时间: 2016-10-26 13:55:34

wednsbay1 发表于 2016-10-26 13:48
2016/10/26 0:00:00
这种格式的 不会转化咯

是,只有我列出的两种格式才会转
作者: wednsbay1    时间: 2016-10-26 14:01:07

dforce 发表于 2016-10-26 13:55
是,只有我列出的两种格式才会转

我明白你的意思了,
我也找到原因了。
  我在grid 上设置 了dateFormat="yyyy-MM-dd" 这样的属性, 但是我后台对应的字段是 varchar(50),所以 2016/10/26 0:00:00 这样的 格式直接插入进去,再从DB抽出表示在画面时就 dateFormat 失败 了。
作者: dforce    时间: 2016-10-26 15:10:47

wednsbay1 发表于 2016-10-26 14:01
我明白你的意思了,
我也找到原因了。
  我在grid 上设置 了dateFormat="yyyy-MM-dd" 这样的属性, 但是 ...

是的,你现在这样传过来就是字符串,字符串不会给你格式化的。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2