jqGrid onCellSelect从本地数据返回属性

时间:2017-12-01 22:52:30

标签: javascript jqgrid

我使用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"}}
]

以下是我为表明问题而创建的jsfiddle:

https://jsfiddle.net/rhv247q7/

1 个答案:

答案 0 :(得分:1)

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

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

  2. 设置id行总是好主意 - 这可以在colModel(key:true)的描述中完成,也可以在适当的读者中使用localReader。设置此项时,您将确保获得某些行和其他一些重要命令时不会出现问题。让网格创建ID不是一个好主意。

  3. 现在问题是:要做你想做的事情,你应该使用getLocalRow,它将数据返回到网格 - 即原始数据。

    在你的情况下,当滚动打开并且没有从开发者设置id时存在错误(即网格在内部创建id)。该问题已在GitHub中修复,您可以对其进行测试。