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

4 回答 4

26

您可以尝试使用:

var allRowsInGrid = $('#list4').jqGrid('getGridParam','data');
于 2013-11-07T05:49:15.457 回答
5

这种方式更“漂亮”:

var allRowsInGrid = $('#list4').getGridParam('data');
于 2015-09-11T18:50:42.857 回答
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);
}
于 2018-08-26T01:40:26.040 回答
-3

在深入研究文档后,发现了这种直接的方式。

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

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

var stringVersion = JSON.stringify(allRowsInGrid);

alert (stringVersion);
于 2017-02-13T13:31:34.430 回答