【发布时间】:2010-07-22 08:53:20
【问题描述】:
希望这是一个快速的!
我有一个使用“clientSide”(本地)数据的可编辑网格,我现在希望在通过 jQuery.ajax 调用将数据发送到服务器之前迭代 javascript 中的所有行并自己处理/打包数据。
问题在于,出乎意料(至少对我而言),使用以下代码只检索当前可见网格页面的行!如何获取网格中的所有行(即我有四页,每页 10 条记录,当我在第 1 页时,此代码仅返回前 10 条)?它们必须存在于客户端的某个地方,因为我可以四处翻页并编辑行,并且数据在不调用服务器的情况下被持久化! :)
cacheCONF = [];
var rows= $('#myGrid').getRowData(); //<--Need to get ALL rows here!!!
var cacheRowID = 0;
for (var row in rows) {
if (rows[row].Action == 'Yes') {
cacheCONF.push({ RowID: rowID, System: rows[row].System, Action: rows[row].Action, Account: '-', Required: '-' });
rowID++;
}
}
【问题讨论】:
-
通过临时更改页面大小找到了解决方法。希望有一个更“正式”的解决方案。代码是: var pageSize = $('#myGrid').getGridParam('rowNum'); $('#myGrid').setGridParam({ rowNum: 10000 }).trigger("reloadGrid");然后 getRowData 将获得最多 10000 行(因此将其设置为高于 yuor max possible rows)。然后,您可以使用 pageSize 将页面大小设置回用户的偏好。
标签: jqgrid