我想访问网格数据,如下所示
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]。
请告诉我如何读取整个网格数据,即使它在屏幕上不可见但是已成功获取?
答案 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);