jqGrid'selarrrow'返回行号而不是行ID

时间:2010-07-27 09:48:58

标签: jquery jqgrid multi-select

我可以从发布到浏览器的jqGrid JSON数据中看到行ID(在JSON行数据中用“i”表示)正确通过,但是当我做出选择并检查{{1}时它显示选定的行号而不是ID。

有没有人有这方面的经验?感谢

更新

下面是JSON结果的图片(复制并粘贴不是一个选项)

(bigger version of the image here)

JSON Result http://i31.tinypic.com/25qwufd.png

用于检查选择的javascript代码:

$('#list').getGridParam('selarrrow')

3 个答案:

答案 0 :(得分:4)

Justin和Oleg - 我确定你被放在这个星球上解决世界的jQueries :)再次感谢你对这个问题的帮助。

<强>解
在我的代码中,网格的列定义没有指定一个key列,从中可以绘制每一行的ID - 如何在上面的屏幕截图中获取i = <id>,我不知道,但它绝对不是不要为每一行使用该ID。我将网格定义更改为以下内容:

...,
colNames: ['ID', 'Family', 'Variety', 'Type', 'EDI #', 'Colour', 'Swatch'],
colModel: [{ name: 'id', index: 'id', key: true, hidden: true },
...

(注意ID列的colModel中的key: true

答案 1 :(得分:0)

你确定吗?根据{{​​3}}:

  

此选项是只读的。当multiselect设置为true时,确定当前选定的行。这是一维数组,数组中的值对应于网格中选定的id。

因此,如果它返回行号,则jqGrid API中存在错误。您是否可以发布更多信息,例如您对selarrrow的通话结果以及网格中ID的完整列表?

答案 2 :(得分:0)

我认为忽略从服务器发送的ID,因此行号将是真正的行ID。您可以使用getDataIDs事件中的loadComplete方法对此进行验证。为什么ID会被忽略我只能说你发布更多信息。