Я недавно сделал это с сеткой.
Несмотря на то, что данные возвращаются из базы данных как отметка времени, использование type: date
для меня работало нормально ...
// DATA MODEL
Ext.define('Particle', {
extend: 'Ext.data.Model',
fields: [
{ name: 'particle_id', type: 'long' },
{ name: 'name', type: 'string' },
{ name: 'type', type: 'string' },
{ name: 'start_date', type: 'date' },
{ name: 'sched_date', type: 'date' },
{ name: 'sched_time', type: 'date' },
{ name: 'notes', type: 'string' }
]
});
Я представил значения даты в модели столбцов следующим образом, обратите внимание на параметр конфигурации renderer:
. (Я использую опцию конфигурации field:
, потому что я использовал расширение grideditor в этом, чтобы разрешить редактирование данных в строке на самой сетке - вам это не понадобится, если вы редактируете значения в отдельной форме.)
// GRID COLUMN MODEL
var columns = [
{text: "Name", flex: 1, sortable: true, dataIndex: 'name', renderer: function(data,meta,record){meta.attr = 'ext:qtitle="Notes:"ext:qtip="' + record.get('notes') + '"'; return data;}},
{text: "Type", width: 55, sortable: true, dataIndex: 'case_lvl'},
{text: "RF Started", width: 80, sortable: true, dataIndex: 'start_date', renderer: Ext.util.Format.dateRenderer('j-M-Y')},
{text: "Sched Date", width: 80, sortable: true, dataIndex: 'sched_date', field: 'datefield', renderer: Ext.util.Format.dateRenderer('j-M-Y')},
{text: "Sched Time", width: 80, sortable: true, dataIndex: 'sched_time', field: 'timefield', renderer: Ext.util.Format.dateRenderer('g:i A')}
];
Чтобы конкретно ответить на ваш вопрос , я вернул значение даты в базу данных в виде строки метки времени, выбрав ее из поля с помощью Ext.Date.format (). Вы можете добавить это до отправки формы.
schedDate = Ext.Date.format(Ext.getCmp('schedDate').getValue(),'Y-m-d') + Ext.Date.format(Ext.getCmp('schedTime').getValue(),' H:i:s')