【发布时间】:2016-09-20 19:45:26
【问题描述】:
在 jqGrid 中使用内联编辑时,我无法选择正确的行。无论我单击哪一行,都会选择最后一行,然后每次单击都会选择上面的行。选择所有行后,我可以单击并选择任何行。这是我的代码:
我正在使用 jqGrid 4.4.4
//url for inline edit
editurl: "/Transactions/Modify",
//event for inline edit
onSelectRow: function (currentSelectedRow) {
if (currentSelectedRow) { // && currentSelectedRow != $.lastSelectedRow
//save changes in row
$('#grid').jqGrid('saveRow', $.lastSelectedRow, false);
$.lastSelectedRow = currentSelectedRow;
}
currentSelectedRow,
myEditParam = {
keys: true,
oneditfunc: function (id) { currentSelectedRow = id; },
afterrestorefunc: function (id) { currentSelectedRow = undefined; }
};
【问题讨论】:
-
您的代码使用
saveRow而不是editRow。您尝试实施什么行为?我建议您验证您是否正确填写了 rowid。$.lastSelectedRow的使用看起来也很可疑。如果页面上有多个网格,则此类代码将不起作用。 jqGrid 将编辑行的id自动保存在savedRow参数中,该参数是带有rowids 的数组。查看来自the answer 的代码,其中使用了beforeSelectRow和onSelectRow回调。这就是我向你推荐的方式。它也应该在 jqGrid 4.4.4 中工作。 -
谢谢奥列格。我只是想根据用户单击的位置在编辑时选择正确的行。这应该是内置的功能。我很困惑为什么它不起作用。
-
我再说一遍,典型的错误可能是错误的 rowids。换句话说,原因可能是在填充网格时而不是在编辑时。检查网格上的 rowid。请参阅the picture 和描述以获得更多理解。
标签: javascript jquery jqgrid