如何使用文本字段编辑日期值

时间:2017-06-12 07:23:22

标签: datetime extjs extjs6

由于ExtJs缺少日期时间字段,我认为在网格中编辑日期时间值的最简单方法是使用文本字段。我没有找到一个简单的示例来验证字段并为用户透明地更新记录。

这是我网格中的列,我想添加我的编辑器

Ext.define('Fiddle.grid.DateEdit', {
    columns: [{
        text: 'Datetime value', 
        dataIndex: 'mydatetime', 
        xtype:'datecolumn', 
        format: 'Y-m-d H:i:s'
    }]
})

1 个答案:

答案 0 :(得分:0)

这是一种简约方法,可以为用户透明地处理验证和日期到字符串转换:

Ext.define('Fiddle.grid.DateEdit', {
    columns: [{
        text: 'Datetime value', 
        dataIndex: 'mydatetime', 
        xtype:'datecolumn', 
        format: 'Y-m-d H:i:s',
        editor: {
            xtype:'textfield',
            errorMessage: 'Invalid date format',
            format: 'Y-m-d H:i:s',
            validator: function(val){return val.match(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/) ? true : this.errorMessage},
            valueToRaw: function(val){return Ext.Date.format(val, this.format)},
            rawToValue: function(val){return Ext.Date.parse(val, this.format)}
        }
    }]
})
相关问题