dojox.enhancedGrid得选择排
-
27-09-2019 - |
题
我怎么可以选择行的目的dojox.enhancedGrid?我使用selectionMode:'single' 例如用无线电按钮。
dijit.byId("gridViewWidget").selection.selectedIndex
返回rowIndex.但是如何获得rowObject的指数?我可以得到的 rowNode()
但是我需要的是值id列的该行。
它可能travarse HTML DOM返回的 rowNode()
但是没有任何直接的方式?
我目前正在使用 dijit.byId("gridViewWidget").store._dataArray[i]
并通过返回的索引。虽然这工作看来_dataArray是私人财产。因此,它是安全使用?
解决方案
我是新来的道场自己,但这应该是有用的,如果不完全正确的。第一, dojox.grid.enhancedGrid
是建立在 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>
注意“formatThisColumn”功能:这得到在数据网格称为至少每行一次,并且被传递的行的索引(JSON项目内)和包含该“当前”项的对象(使用' I”索引)。这给你从JSON响应,而数据网格所呈现的原始值。
不隶属于 StackOverflow