由于ExtJs缺少日期时间字段,我认为在网格中编辑日期时间值的最简单方法是使用文本字段。我没有找到一个简单的示例来验证字段并为用户透明地更新记录。
这是我网格中的列,我想添加我的编辑器
Ext.define('Fiddle.grid.DateEdit', {
columns: [{
text: 'Datetime value',
dataIndex: 'mydatetime',
xtype:'datecolumn',
format: 'Y-m-d H:i:s'
}]
})
答案 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)}
}
}]
})