Jquery free-jqgrid:free-jqgrid4.13.6中的getLocalRow返回false

Jquery free-jqgrid:free-jqgrid4.13.6中的getLocalRow返回false,jquery,jqgrid,free-jqgrid,Jquery,Jqgrid,Free Jqgrid,我们在jqgrid 4.3中使用了以下代码。现在我正在升级到4.13.6。下面的代码在4.3中运行,但在4.13中,它返回false。。。需要帮忙吗 var grid = $("#myGrid").jqGrid('getRowData'); $.each(grid, function(key, value) { selectedRow = key+1; var rowData = $("#myGrid").jqGrid('getLocalRow', selectedRow); }

我们在jqgrid 4.3中使用了以下代码。现在我正在升级到4.13.6。下面的代码在4.3中运行,但在4.13中,它返回false。。。需要帮忙吗

var grid = $("#myGrid").jqGrid('getRowData');
$.each(grid, function(key, value) {
    selectedRow = key+1;
    var rowData = $("#myGrid").jqGrid('getLocalRow', selectedRow);
});
填写表格时,我没有使用任何id。数据类型:json,行号:true

当我调试时,我看到每行的ID是'jqg41','jqg42'等等。。。有时是“jqg61”、“jqg62”等等。。。它是一个随机数,附加在“jqg”之后

更多代码(但未完成的代码)

您只需使用

var localData = $("#myGrid").jqGrid("getGridParam", "data");
以数组形式获取所有本地数据。它是jqGrid内部数据的参考

更新:如果网格在本地进行了排序或过滤并且希望以相同的顺序从所有行中获取数据,那么您应该获取
lastSelectedData
参数,而不是
数据
。在从服务器加载数据后,您可以使用jqGrid的
forceClientSorting:true
参数对数据进行本地强制排序,另外还要使用
loadonce:true


演示演示了本地数据的
lastSelectedData
,其中没有id信息。另一个演示立即对从服务器加载的数据执行相同操作。

抱歉,但是您发布的代码绝对错误。如果
key
是rowid,则
key+1
s不是。它能做什么?您需要获取选定行的数据还是网格的所有本地数据?为什么不指定rowid?您使用哪种数据和哪种网格?顺便说一句,我在开始回答之前的问题时建议在
customerId
列中设置
key:true
属性,这将通知jqGrid使用
customerId
列中的值作为rowid。你的代码仍然错误,你应该解释什么,它应该做什么。我建议你阅读,我解释什么是rowid。请参阅和下面的解释。@Oleg:在jqgrid 4.3中,“key”总是给我0,但行的id从“1”开始。这就是为什么我选择了“key+1”。现在进入第二个问题,我不能将客户id设置为key=true,因为我可以在网格中有多个相同id的客户。需要什么:我想检查每一行(选择和未选择)然后获取数据,然后我可以在javascript中对这些数据应用逻辑,然后发送到后端。现在我想知道为什么它会将行的id创建为“jqgI repeat”,您解释的是,如果输入数据错误,并且没有包含和id信息,则会自动生成行id。您不应该对自动生成ID的算法。我仍然不理解你的描述。你永远不应该发布这么小的代码片段。我只能猜测你指的是带有
数据类型的网格:“json”
loadonce:true
,就像你前面的问题一样。你不需要“浏览每一行”。你可以使用
$(“\35; myGrid”).jqGrid(“getGridParam”,“data”)
获取对所有本地数据的引用。
var localData = $("#myGrid").jqGrid("getGridParam", "data");