ExtJS网格渲染器时间00:00:00(hh:mm:ss)和时间字段

ExtJS网格渲染器时间00:00:00(hh:mm:ss)和时间字段,extjs,extjs4,extjs4.2,Extjs,Extjs4,Extjs4.2,我有一个带有时间域编辑器的网格。这些值的格式如下: 06:00:00 (hh:mm:ss) 现在一切正常,只是我的渲染器函数没有检测到有效日期的值: text: 'InTime', dataIndex: 'InTime', editor: { xtype: 'timefield', format: 'H:i', altFormats: 'H:i', selectOnFocus: true, minV

我有一个带有时间域编辑器的网格。这些值的格式如下:

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时,我得到false,这就是为什么从时间字段中选择值的计数器格式不好的原因

这是我的网格单元格图像,第一个单元格在我更改其值之前是原始的,第二个单元格是我从TimeField中选择后得到的值


有什么线索吗?

我还没有测试过您的全部代码,但第一眼看到您正在使用

format和altFormats具有相同的值,都定义为“H:i”,即24小时:分钟,使上午12:00和晚上11:00的条目无效

发布存储的数据输出非常重要,这样我们就可以看到inTime列的格式,同时发布模型的代码

使用console.log代替alert。
最近我也有同样的问题。应使用列和编辑器的format属性:

{ xtype:'datecolumn', 标题:“Hora”, 数据索引:“时间”, 格式:“H:i”, 编辑:{ xtype:'时间域', 格式:H:我 } } 从模型字段定义中删除类型:'string'属性

fields: [{ name: 'InTime',  }] // don't specify type
这是有效的

renderer: function (value) {
                return Ext.isDate(value) ? Ext.Date.format(value, 'H:i') : value;
            }