希望这是一个快速的!
我有一个使用'clientSide'(本地)数据的可编辑网格,我现在希望迭代javascript中的所有行并自己处理/打包数据,然后通过jQuery.ajax调用将其发送到服务器。
问题是,出乎意料地(至少对我而言),使用以下代码仅检索当前可见网格页面的行!如何获取网格中的所有行(即,我有四个页面,每个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++;
}
}
答案 0 :(得分:8)
Tony的解决方案:
var mydata = $("#grid").jqGrid('getGridParam','data');
答案 1 :(得分:5)
遇到类似的问题,下面就是我最终使用的
var data = $("#table-id").jqGrid('getGridParam', 'data');
for (var i = 0; i < data.length; i++) {
var f_name = data[i].FirstName;
var l_name = data[i].LastName;
// blah... blah..
}
参考:http://www.trirand.com/blog/?page_id=393/help/jqgrid-getdata-only-returns-data-for-current-page/