ExtJs4, как вручную отредактировать ячейку datetime с текстовым форматом (без timefield или datefield) в gridpanel? - PullRequest
4 голосов
/ 09 сентября 2011

С помощью GridPanel в ExtJs4, как редактировать ячейку datetime (без timefield или datefield)?

Я использую это для правильного отображения:

{
    header: 'date_event',
    field: {
        type: 'datecolumn',
        // format: 'Y-m-d H:i'  // do nothing on rendering ou editing
    },
    renderer: Ext.util.Format.dateRenderer('Y-m-d H:i')
}

Но, когда я редактирую свою ячейку, отрисованную как 2011-09-08 09:18, входные данные были преобразованы:

Thu Sep 08 2011 09:18:00 GMT+0200 (Romance Daylight Time)

Можно ли сохранить формат рендеринга для редактирования?

Альтернативно, используя type: 'datecolumn' и xtype: 'datefield' или timefield работает нормально.

Но без datetimefield я не смог отредактировать дату и время.

Предпочитаете использовать полный редактор даты и времени, как редактировать его в текстовом формате, отформатированном моим шаблоном даты?

{
    header: 'date_event',
    xtype: 'datecolumn', // convert with locale FR (without displaying hours) : 08/09/2011 
    field: {
        xtype: 'datefield', // can edit days
        // xtype: 'timefield',  // can edit hours
        // xtype: ['datefield','timefield'],    // don't work
    },
}

1 Ответ

0 голосов
/ 12 декабря 2011

Вы можете создать свой пользовательский компонент, содержащий поле даты и поле времени вместе в hbox контейнере макета.Реализуйте setValue , getValue и другие важные методы (если таковые имеются), которые влияют на оба содержащих компонента. псевдоним: 'widget.mydatepatterfield' .Я думаю, что этот подход решит вашу проблему.

...