我有一个网格,对于一个单元格,我使用TimeField
编辑器:
{
text: 'InTime',
dataIndex: 'InTime',
editor: {
xtype: 'timefield',
format: 'H:i', // 24 hour format
altFormats: 'H:i', // 24 hour format
selectOnFocus: true,
minValue: '12:00 AM',
increment: 60,
maxValue: '11:00 PM'
}
我的单元格在编辑之前和之后都是这样的:
此时一切正常,当我打开下拉列表时,一切看起来都很好:
但是在我从列表中选择一个值并更改为其他单元格后,单元格中更新的值是一个日期时间字符串格式文本,如下所示:
有谁知道为什么会发生这种情况?
由于
答案 0 :(得分:1)
在网格单元格字段中的编辑器渲染器:format:'g:i A'
中使用格式Ext.util.Format.dateRenderer('g:i A')
{
text: 'InTime',
renderer: Ext.util.Format.dateRenderer('g:i A')
dataIndex: 'InTime',
editor: {
xtype: 'timefield',
format: 'H:i', // 24 hour format
altFormats: 'H:i', // 24 hour format
selectOnFocus: true,
minValue: '12:00 AM',
increment: 60,
maxValue: '11:00 PM'
}
这是因为您始终必须指定渲染器,否则将使用您的数据值toString
(Date
)。网格不像编辑器(组合)那样神奇地渲染它。
答案 1 :(得分:0)
除了我在你关于H的其他帖子上留下的内容:我是24小时格式。 如果需要格式化字符串,请使用field.getRawValue()而不是getValue()获取字段值。