在 JQGrid 中
var gridData=$("#SearchResults").jqGrid('getRowData')
上面一行给出了所有行的网格数据,有没有办法只获取所选行的网格数据。
selRowId = myGrid.jqGrid ('getGridParam', 'selrow'),
上面给出了选定的行 ID,但我想要数据以及所有选定行的数据,因为它与 gridData 一起返回,但我只需要选定行的数据
最佳答案
非常简单。 getRowData
方法的第二个 optional 参数是请求数据的行的 rowid(参见 the documentation)。所以你可以使用
var selRowId = myGrid.jqGrid("getGridParam", "selrow");
先获取最后选中的rowid,再获取该行的数据
var rowData = myGrid.jqGrid("getRowData", selRowId);
如果您使用datatype: "local"
或一些远程datatype
("xml"
或"json"
),但如果使用 loadonce: true
,则 jqGrid 会将数据内部保存在 data
数组中。如果使用 getLocalRow
方法比使用 getRowData
方法更有效:
var rowData = myGrid.jqGrid("getLocalRow", selRowId);
如果你使用 multiselect: true
选项,那么 jqGrid 支持 selarrrow
所选 rowid 数组,你可以在循环中获取所有需要的数据:
var i, selRowIds = myGrid.jqGrid("getGridParam", "selarrrow"), n, rowData;
for (i = 0, n = selRowIds.length; i < n; i++) {
rowData = myGrid.jqGrid("getLocalRow", selRowIds[i]);
// one can uses the data here
}
关于javascript - 如何返回选中行的jqgrid数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25826464/