dojox.enhancedGrid получить выбранную строку - PullRequest
4 голосов
/ 16 июня 2010

Как я могу получить выбранный объект строки dojox.enhancedGrid? Я использую selectionMode: 'single' например с радио-кнопками.

dijit.byId("gridViewWidget").selection.selectedIndex Возвращает rowIndex. Но как получить rowObject этого индекса? Я могу получить rowNode() Но мне нужно значение столбца id этой строки.

Можно обойти HTML DOM, возвращаемое rowNode() Но есть ли прямой путь?

В настоящее время я использую dijit.byId("gridViewWidget").store._dataArray[i] и передаю возвращенный индекс. Хотя это работает, похоже, _dataArray является частной собственностью. Так это безопасно для использования?

Ответы [ 2 ]

5 голосов
/ 18 июня 2010

Я новичок в додзе, но это должно быть полезно, если не совсем правильно. Прежде всего, dojox.grid.enhancedGrid построен поверх dojox.grid.DataGrid, поэтому ознакомьтесь с документацией здесь:

dojox.grid.DataGrid Documentation

  • grid.getItem(idx) возвращает 'элемент' магазина по указанному индексу

  • grid.selection.getSelected() возвращает массив выбранных элементов

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

0 голосов
/ 13 июля 2010

Используя декларативную разметку, вы можете сделать что-то вроде (из памяти может потребоваться настройка для работы):

<script type="text/javascript">
function formatThisColumn(rowIndex, rowObject) {
    if (rowObject == null) return;
    field = rowObject.i.fieldName;
    return field;
}
</script>
<div dojoType="dojo.data.ItemFileReadStore" id="store" jsid="jsonStore" url="test.json"></div>
<table dojoType="dojox.grid.EnhancedGrid" id="gridNode" jsid="grid" store="store">
<thead>
<tr>
  <th get="formatThisColumn">A Computed Column</th>
</tr>
</thead>
</table>

Обратите внимание на функцию formatThisColumn: она вызывается как минимум один раз для каждой строки в сетке данных и получает индекс строки (в элементах JSON) и объект, который содержит элемент current (используя я 'индекс). Это дает вам исходные значения из ответа JSON во время визуализации сетки данных.

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