#extjs #extjs4 #extjs4.2
#extjs #extjs4 #extjs4.2
Вопрос:
У меня есть сетка с редактором временных полей. Значения представлены в следующем формате:
06:00:00 (hh:mm:ss)
Сейчас все в порядке, за исключением того, что моя функция рендеринга не определяет значение a допустимая дата:
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, поэтому afeter, выбирающий значение из timefield, неправильно отформатирован.
Это мое изображение ячейки сетки, первая ячейка является исходной до изменения ее значения, вторая — это значение, которое она получает после выбора из TimeField
Есть какие-нибудь подсказки?
Ответ №1:
Я не тестировал весь ваш код, но с первого взгляда я увидел, что вы используете
формат и altFormats с одинаковым значением и оба определены как ‘H: i’, что равно 24 часам: минутам, что делает 12:00 и 11:00 недопустимыми записи.
Было бы важно, чтобы вы опубликовали выходные данные вашего хранилища, чтобы мы могли видеть формат вашего столбца inTime, а также разместили код для вашей модели.
- Вместо использования оповещения используйте console.log .
Ответ №2:
Недавно у меня была такая же проблема. Вы должны использовать свойство format для столбца и редактора:
{
xtype: 'datecolumn',
header: 'Hora',
dataIndex: 'time',
format: 'H:i',
editor: {
xtype: 'timefield',
format: 'H:i'
}
}
Это работает для меня.
Ответ №3:
: тип ‘string’ Удаляет свойство из определения поля модели
fields: [{ name: 'InTime', }] // don't specify type
И это работает
renderer: function (value) {
return Ext.isDate(value) ? Ext.Date.format(value, 'H:i') : value;
}