如何使用分页获取jqgrid中所有行的数据

时间:2013-10-31 09:58:20

标签: jquery jqgrid

我想访问网格数据,如下所示

    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 个答案:

答案 0 :(得分:24)

您可以尝试使用:

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

答案 1 :(得分:4)

这种方式更“漂亮”:

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

答案 2 :(得分:2)

这是获取特定行数据的另一种方法。您可以遍历所有行以获取所有内容:

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 :(得分:-2)

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

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

这会返回一个JavaScript数组对象。要检查JS Object中的值,您只需使用以下方法。

var stringVersion = JSON.stringify(allRowsInGrid);

alert (stringVersion);