2014-02-07 4 views
7

простой вопрос, но я не могу понять, как его решить.изменить формат даты в поле сетки ExtJS

Я получаю дату с час из JSON с этим форматом:

"date_deb":"2013\/12\/28 23:00:00" 

Обратите внимание, что \ являются для экранирования/и не отображаются. Я хотел бы, чтобы отобразить эту дату в этом формате в моей сетке:

"28/12/2013 23:00:00" 

Я попытался это в мое определение полей:

{name:'date_deb', type: 'date', dateFormat: 'd-m-Y H:i:s'} 

Но это не работает, ничего не отображается. Проверяя документы ExtJS, я видел это:

dateReadFormat 

Я использую ExtJS4.2

ответ

8

В вашем определении поля обеспечивают dateFormat, как он возвращается с сервера:

{name:'date_deb', type: 'date', dateFormat: 'Y/m/d H:i:s'} 

, а затем в столбце конфигурации использовать ExtJS встроенный в dateRenderer с форматом вы хотите, чтобы сделать ваш Даты с:

renderer: Ext.util.Format.dateRenderer('d/m/Y H:i:s') 

Вам нужно только dateReadFormat и dateWriteFormat, если у вас есть читателя (для чтения данных с сервера) и писатель (для отправки измененных данных на сервер), которым нужны разные форматы дат. В противном случае dateFormat будет применяться в качестве формата по умолчанию для обоих.

+0

Ницца, хорошо работает! –

0

использовать эту функцию для даты сетки

визуализации В вашем определении столбца определяет, как средство визуализации это

рендерер: renderDate

пример { dataIndex: 'TaskEndDate', header: 'PlannedEndDate', flex: 1, renderer: renderDate },

function renderDate(value) 
{ 
    if (value == '' || value == undefined) { 
     return ''; 
    } 

    else { 
     getDate = new Date(parseInt(value.substr(6))); 
     } 

    return Ext.util.Format.date(getDate, 'm-d-Y'); 
} 
+0

Работы, но другое решение проще настроить :). Но спасибо за то, что поделились своим knwoledge :)! –

3

Если вышеуказанное не работает для вас, попробуйте добавить xtype: 'datecolumn' в конфигурацию 'columns' вашей сетки.

columns: [{ 
      text : 'date', 
      dataIndex: 'LoginDateTime', 
      xtype: 'datecolumn', 
      format: 'Y-m-d g:i A', 
}] 

Это должно сработать.

Смежные вопросы