dojox.enhangensgrid Получить выбранную строку
-
27-09-2019 - |
Вопрос
Как я могу получить выбранный объект строки Dojox.enhancedGrid? Я использую SyblemodeMode: «Один», например, с помощью радиопередач.
dijit.byId("gridViewWidget").selection.selectedIndex
Возвращает rowindex. Но как получить rowObject этого индекса? Я могу получить rowNode()
Но то, что мне нужно, это ценность идентификационного столбца этой строки.
Это возможно для траверса HTML DOM возвращается rowNode()
Но есть ли прямо вперед?
Я сейчас использую dijit.byId("gridViewWidget").store._dataArray[i]
и прохождение возвращенного индекса. Хотя это работает, похоже, _dataArray - частная собственность. Так же безопасно использовать?
Решение
Я новичок, чтобы догрузить себя, но это должно быть полезно, если не совсем правильно. Прежде всего, dojox.grid.enhancedGrid
построен на вершине dojox.grid.DataGrid
, Так что проверить документацию здесь:
Dojox.Grid.dataGrid Документация
grid.getItem(idx)
Возвращает магазин «Пункт» в данном индексеgrid.selection.getSelected()
Возвращает массив выбранных элементов
Вы должны быть в состоянии использовать любой из них, чтобы получить нужный элемент.
Другие советы
Используя декларативную разметку, вы можете сделать что-то вроде (из памяти, возможно, понадобится настроить функционал):
<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>
Обратите внимание на функцию «Formatthiscolumnumnumbanumn». ). Это дает вам исходные значения от ответа JSON, пока отображается DataGrid.