Extjs日期列格式

时间:2013-09-03 05:13:35

标签: javascript date extjs datepicker date-format

我的日期列有日期字段编辑器。问题是,在im编辑列时,它会显示例如2013-02-05的正常值,但在进行近距离编辑时会显示Sat Jul 12 2014 00:00:00 GMT+0300 (FLE Standard Time)

之类的内容。

我的代码:

{
    xtype : 'datecolumn',
    dataIndex : 'depreciationStartPeriod',
    header : 'Depreciation start period',
    sortable : true,
    id : 'depreciationStartPeriod',
    width : 134,
    editor : {
        xtype : 'datefield',
        format: 'Y-m-d H:i:s'
    }
}

商店字段:

{
    name : 'depreciationStartPeriod',
    type : 'String',
    dateFormat: 'c'
}

原因是什么?

更新

在商店中,由于某种原因,它也以错误的格式保存,这就是为什么它以这种格式显示,但我现在不知道原因。

3 个答案:

答案 0 :(得分:5)

{
    xtype : 'datecolumn',
    dataIndex : 'depreciationStartPeriod',
    header : 'Depreciation start period',
    sortable : true,
    id : 'depreciationStartPeriod',
    width : 134,
    format: 'Y-m-d H:i:s', // <------- this way
    editor : {
        xtype : 'datefield',
        format: 'Y-m-d H:i:s',
        submitFormat: 'c'  // <-------------- this way
    }
}

答案 1 :(得分:4)

您需要将商店字段设为date类型,而不是string。因为它目前是一个字符串,ExtJS直接从datefield.getValue().toString()转换它,这就是它给你的完整格式。

另请注意,即使您想对string使用type,该字词也应全部为小写(您目前拥有String)。查看此链接,了解您可以使用的有效type参数:http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Field-cfg-type

答案 2 :(得分:0)

尝试在商店中提供类型为Ext.data.Types.DATE我有类似的问题,通过将类型改为Ext.data.Types.DATE解决了它