Использование дат JSON в сетке EXTJ - PullRequest
6 голосов
/ 12 октября 2009

У меня есть объект, который я сериализую в объект JSON, используя JSON.Net. Этот объект затем используется JSON Store, который подключен к ExtJs GridPanel.

Все поля, кроме полей даты, отображаются нормально, единственный способ отобразить поля даты - использовать текстовые столбцы. Но тогда я получаю следующее / Дата (1293746400000 + 0200) / отображается как текст, который бесполезен.

Я знаю, что мне нужно каким-то образом преобразовать это в подходящий объект даты, но я не знаю, как это сделать.

Дайте мне знать, если вам нужна дополнительная информация.

Ответы [ 4 ]

7 голосов
/ 07 июня 2011

«M $» в предыдущем примере вводит в заблуждение, его «MS». Вот ясный пример, который работает в extjs 4. Поле LastFellOffCliff установлено как дата с входящим форматом в стиле даты Microsoft JSON: "/Date(...)/"

Ext.define('ACME.model.CoyoteModel', {
    extend: 'Ext.data.Model',
    fields: [
                { name: 'CoyoteID', type: 'int' },
                'Nickname',
                { name: 'LastFellOffCliff', type: 'date',  dateFormat: 'MS'  },
                'Notes'
            ]

});
1 голос
/ 13 октября 2009

Взгляните на здесь .

В большинстве случаев вы можете передать свою собственную отформатированную строку (я использую «yyyy-MM-dd» в моих проектах, так как мне не нужно время) и повторно использовать ее на другой стороне (отформатировать ее как действительную дату конструктор).

1 голос
/ 13 октября 2009

JSON.Net имеет различные конвертеры даты / времени, чтобы помочь вам справиться с этим. См. этот блог для некоторых деталей. Таким образом, вы можете использовать, например, JavaScriptDateTimeConverter, а затем перевести результат в объект даты JS. Я не могу вспомнить, как магазин Ext справится с этим, но, возможно, он укажет вам правильное направление.

0 голосов
/ 17 ноября 2010

В полях, которые относятся к дате в вашем JsonStore, вы можете установить тип поля «date», а его dateFormat - «M $». Работает как чемпион.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...