我有一个带有TimeField编辑器的网格。值的格式如下:
06:00:00 (hh:mm:ss)
现在一切都很好,除了我的渲染器功能没有检测到一个有效的日期值:
text: 'InTime',
dataIndex: 'InTime',
editor: {
xtype: 'timefield',
format: 'H:i',
altFormats: 'H:i',
selectOnFocus: true,
minValue: '12:00 AM',
increment: 60,
maxValue: '11:00 PM'
},
renderer: function (value, metaData, record, row, col, store, gridView) {
alert(value);
return Ext.isDate(value) ? Ext.Date.format(value, 'H:i') : value;
}
当它检查Ext.isDate
时,我得到了错误,这就是为什么从时间字段中选择一个值的格式不正确的原因。
这是我的网格单元格图像,第一个单元格在我更改其值之前是原始单元格,第二个单元格是我从TimeField中选择后得到的值
有任何线索吗?
答案 0 :(得分:0)
我还没有测试过您的整个代码,但只是在第一眼看到我看到您正在使用
格式和altFormats具有相同的值,并且都定义为' H:i'这是24小时:分钟,上午12:00和下午11:00无效参赛作品。
您发布商店的数据输出非常重要,这样我们就可以看到您的inTime列的格式,并发布模型的代码。
答案 1 :(得分:0)
最近我遇到了同样的问题。您应该使用格式属性作为列和编辑器:
{
xtype: 'datecolumn',
header: 'Hora',
dataIndex: 'time',
format: 'H:i',
editor: {
xtype: 'timefield',
format: 'H:i'
}
}
这项工作适合我。
答案 2 :(得分:0)
删除 type :'string'属性
fields: [{ name: 'InTime', }] // don't specify type
这可行
renderer: function (value) {
return Ext.isDate(value) ? Ext.Date.format(value, 'H:i') : value;
}