Сетка данных Dojo с датой и временем

Не мог бы кто-нибудь здесь, ради бога!, опубликовать пример рабочего dojox.grid.DataGrid, использующего dojox.data.JsonRestStore, с 2 столбцами, датой и временем?

Я пробовал следующее:

<th field="startdate" cellType="dojox.grid.cells._Widget" widgetClass="dijit.form.DateTextBox" editable="true" formatter="formatDate"></code></pre> and 
<th field="starttime" cellType="dojox.grid.cells._Widget" widgetClass="dijit.form.TimeTextBox" editable="true" formatter="formatDate">

Также :

<th field="startdate" cellType="dojox.grid.cells.DateTextBox" editable="true" formatter="formatDate"></code></pre> and 
<th field="starttime" cellType="dojox.grid.cells._Widget" widgetClass="dijit.form.TimeTextBox" editable="true" formatter="formatDate">

но ничего не работает. Прошло два дня, и я прочитал тонны документации и отчетов, но нигде не смог найти работающий пример.

РЕДАКТИРОВАТЬ :

Теперь я столкнулся с самой странной проблемой в моей карьере программиста: сетка теперь нормально работает с DateTextBox и TimeTextBox (этот случай работает в Firefox 3.6.6 и в 3.6.14pre, Internet Explorer 8 и Google Chrome.), за исключением следующего :

В Firefox 3.6.13 с четным количеством элементов в сетке, когда я пытаюсь изменить время или дату одного элемента, в верхнем левом углу появляется окно виджета, дата не выбрана должным образом, и браузер аварийно завершает работу с Процессор загружается на 100%.

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


person noru    schedule 02.02.2011    source источник


Ответы (3)


вы можете сохранить значения в сетке как тип даты, но с вашим настроенным форматом... сетка позаботится о сортировке..... нет необходимости писать настраиваемую сортировку для какого-то простого поля, такого как Дата.... . .....

var yourLayout = [[
 { 'name': 'Date', 'field': 'dateCol', 'width': '15%', 'formatter': this.formatDate}
]];

..............

formatDate: function(dateValue) {
                return dojoLocale.format(dateValue, { selector: 'date', formatLength: 'long' });
        }

......

person Vin.X    schedule 09.10.2012

Есть пример того, что вы пытаетесь сделать в наборе тестов додзё. На самом деле он не использует JsonRestStore, но это не имеет значения.

http://archive.dojotoolkit.org/nightly/checkout/dojox/grid/tests/test_edit_dijit.html

Лучшая документация по додзё — это тесты.

person Jakob Aarøe Dam    schedule 03.02.2011
comment
Не могу помочь вам с этим. Однако у меня есть пример использования сетки и виджетов времени здесь: letsplantheevent.appspot.com Это часть учебник, который вы можете прочитать здесь: jdams.org - person Jakob Aarøe Dam; 07.02.2011
comment
На что указывает ваш источник данных? Я имею в виду, связали ли вы свою сетку с реальной службой REST или это просто что-то, что генерирует JSON? Неожиданные ответы JSON от сервера могут заставить клиентскую логику делать странные вещи - person Tahir Akhtar; 10.02.2011
comment
@Tahir Сетка связана с веб-службой RESTful JSON на серверной части (источник). Это был ваш вопрос, или вопрос был не ко мне? - person Jakob Aarøe Dam; 14.02.2011
comment
На самом деле вопрос был адресован ОП. - person Tahir Akhtar; 14.02.2011

Если это поможет, Оливер добавил несколько примеров форматирования дат в сетке с и без редактируемых виджетов dijit. Это все еще необходимо включить в основную документацию.

person peller    schedule 28.03.2011