2011-02-02 3 views
2

Может кто-то здесь, пожалуйста, за любовь к Богу !, добавьте пример рабочего dojox.grid.DataGrid, используя dojox.data.JsonRestStore, с 2 столбцами, датой и временем?Dojo datagrid с датой и временем

Я попытался следующие:

<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"> 

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

EDIT:

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

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

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

ответ

1

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

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

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

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

......

1

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

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

Лучший додзё документация вокруг являются тесты.

+0

Я редактировал мой вопрос с новыми данными, любые идеи, пожалуйста? – noru

+0

Не могу помочь вам в этом. Тем не менее, у меня есть пример, использующий сетку и виджеты времени здесь: http://letsplantheevent.appspot.com/. Это часть учебника, которое вы можете найти здесь: http://www.jdams.org/ –

+0

Каков ваш источник данных, указывающий на ? Я имею в виду, что вы связали свою сетку с реальной службой REST или это просто то, что сгенерировало JSON? Неожиданные ответы JSON от сервера могут заставить логику клиента делать странные вещи –

1

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

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