如何在 jqgrid 分页的情况下获取所有行的数据

13

我想要访问以下的网格数据

    var namePresent;
    var datafromgrid = $('#MyGrid').jqGrid('getRowData');
    for (var i = 0; i < rowCount; i++) {
         var name = datafromgrid[i].Name;
         var firstname = name.split(/ +/);
         if (firstname[0].toLowerCase() == Name.toLowerCase()) {
             namePresent = 1;
         }
    }

现在假设我的表格已经加载了5条记录,那么当代码执行到这行 var name = griddata[i].Name; 时会出错,因为从表格中无法读取griddata[5]。 请告诉我如何读取整个表格数据,即使它在屏幕上不可见但已成功获取?

4个回答

27

您可以尝试使用:

var allRowsInGrid = $('#list4').jqGrid('getGridParam','data');

1
哇!!!你是我的英雄!!!非常感谢你!!!我有一个非常定制化的网格,其中一个单元格可以拥有多个输入,你的代码允许我操作本地数据,然后将它们发送到服务器。 - Michal Vašut

6

这种方式更加“美观”:

var allRowsInGrid = $('#list4').getGridParam('data');

3

这是获取特定行数据的另一种方式。您可以循环遍历所有行来获取所有信息:

var dataIDs = grid.getDataIDs(); 
for(i = 0; i < dataIDs.length; i++)
{
    var rowData = grid.jqGrid ('getRowData', dataIDs[i]);
    //rowData is object containing keys & values for row
    console.log(rowData);
}

-3

在查阅文档后,发现了这个简单明了的方法。

var allRowsInGrid = $('#list4').getGridParam('data');

这会返回一个 JavaScript 数组对象。要检查 JS 对象中的值,您可以简单地使用以下方法。

var stringVersion = JSON.stringify(allRowsInGrid);

alert (stringVersion);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接