【问题标题】:Kendo Grid Date Input Output not properly working剑道网格日期输入输出无法正常工作
【发布时间】:2015-04-08 08:27:35
【问题描述】:

我正在研究以下示例:http://dojo.telerik.com/InEyo

在本例中,我将数据输入的日期设置为

var date = "2013-10-10 14:02:40.44";

要读取日期,我在定义日期列的地方使用以下内容:

format: "{0:dd-MMM-yyyy HH:mm:ss}",
parseFormats: ["yyyy-MM-dd' 'HH:mm:ss.zz"]

parseFormats 定义了输入字符串的格式,而 format 定义了我想要如何显示它(据我所知)。我的例子来自Kendo grid format time issue in date column

上面的例子可以正常工作 - 应该!

我的问题 (http://dojo.telerik.com/aqafE):我从数据库中获取的日期格式如下: “20131010 140240” - 所以“yyyyMMdd HHmmss”。

我自然会像这样调整 parseFormats:

format: "{0:dd-MMM-yyyy HH:mm:ss}",
parseFormats: ["yyyyMMdd' 'HHmmss"]

但是这不会输出日期,所以我假设我在定义输入字符串时犯了一个错误,或者数据库中的字符串不适用于 Kendo...

有什么想法吗?谢谢

【问题讨论】:

  • "20131010 140240" 日期无效。尝试使用 new Date("20131010 140240") 将其转换为 jQuery Date
  • 我假设当我使用定义输入格式的“parseFormats”时,它不需要是有效的日期字符串。像 $.datepicker.parseDate( 格式, 值, 选项)

标签: date datetime kendo-ui formatting kendo-grid


【解决方案1】:

在您的示例中,您需要做的就是更改数据源架构定义模型的方式,而不是尝试在网格列上进行。

所以从这里开始:

schema: {
    model: {
        fields: {
            Id       : { type: 'number' },
            FirstName: { type: 'string' },
            LastName : { type: 'string' },
            Date: { type: 'date'},
        }
    }
}

到这里:

schema: {
    model: {
        fields: {
            Id       : { type: 'number' },
            FirstName: { type: 'string' },
            LastName : { type: 'string' },
            Date     : { type: 'date',
                         parse: function(date) {
                             return kendo.parseDate(date,"yyyyMMdd HHmmss");
                         }
                       }
        }
    }
}

编辑:这是一个小提琴链接:http://dojo.telerik.com/aqafE/3

【讨论】:

  • 谢谢!直接从模式中解析它对我有用。 :)
猜你喜欢
  • 2015-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多