jqGrid onCellSelect Return 属性 来自本地数据

jqGrid onCellSelect Return Property from Local Data

我 运行 遇到了使用 jqGrid 5.2.1 的问题。

我想在用户单击单元格时从一行数据中检索 属性。 属性 在原始数据集中,但未显示在网格中。另外,我正在使用滚动功能,所以行 ID 像 "jqg20".

一样返回

我试过使用 getRowData,但只有 returns 该行中显示的数据。 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"}}
]

这是我创建的用于显示问题的 jsfiddle:

https://jsfiddle.net/rhv247q7/

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

  1. 问题依旧,建议使用jqGrid版本。你告诉我们 5.2.1 版本,但你使用 4.6,我们认为这可能会出现一些不舒服的情况。

  2. 设置 id 行始终是个好主意——这可以在 colModel(key : true)的描述中完成,或者在本例中使用适当的 reader localReader。当您设置它时,您将确保获取特定行和其他一些重要命令不会有问题。让网格创建 id 不是个好主意。

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

在您的情况下,当滚动打开且开发人员未设置 ID(即网格在内部创建 ID)时出现错误。问题已在GitHub中修复,您可以测试一下。