Javascript jqGrid onCellSelect从本地数据返回属性

Javascript jqGrid onCellSelect从本地数据返回属性,javascript,jqgrid,Javascript,Jqgrid,我在使用jqGrid 5.2.1时遇到了一个问题 我想在用户单击单元格时从一行数据中检索属性。该特性位于原始数据集中,但不显示在网格中。另外,我正在使用滚动功能,所以行ID像jqg20一样返回 我尝试过使用getRowData,但它只返回该行中显示的数据。getLocalRow将不接受包含jqg的行ID。是否有其他方法可以访问本地数据中用户在网格中单击以提取属性的同一行?属性“attr”是我想在示例中提取的: var testData = [ {c

我在使用jqGrid 5.2.1时遇到了一个问题

我想在用户单击单元格时从一行数据中检索属性。该特性位于原始数据集中,但不显示在网格中。另外,我正在使用滚动功能,所以行ID像jqg20一样返回

我尝试过使用getRowData,但它只返回该行中显示的数据。getLocalRow将不接受包含jqg的行ID。是否有其他方法可以访问本地数据中用户在网格中单击以提取属性的同一行?属性“attr”是我想在示例中提取的:

    var testData = [
                    {col1:10, col2:20, col3:30, col4:'TEST', col5:50, col6:60, col7:70, col8:80, col9:90, col10:100, attr: {property: "this is column 1"}}
]
下面是我创建的用于显示问题的JSFIDLE:


在回答直接问题之前,我需要做一些笔记

如果问题仍然存在,建议使用jqGrid版本。您告诉我们是5.2.1版,但您使用的是4.6版,我们认为这会导致一些不舒服的情况

设置id行始终是一个好主意——这可以在colModel key:true的描述中完成,也可以在本例中使用适当的读取器localReader完成。设置此选项时,您将确保获取某些行和一些其他重要命令不会出现问题。让网格创建ID不是一个好主意

现在问题来了:要做您想做的事情,您应该使用getLocalRow,它在数据到达网格时返回数据——即原始数据


在您的案例中,当scroll处于打开状态且开发人员未设置id(即网格在内部创建id)时出现错误。该问题在GitHub中已修复,您可以对其进行测试。

我无法帮助您使用商业Guriddo jqGrid版本,但getLocalRow的使用将是正确的:。此外,我建议您不要使用虚拟滚动:1。如果有许多行,则可以使用标准分页。