我有一个包含多个jqgrids的网页,每个网页都启用了内联编辑,启用了“操作”列(编辑图标)并禁用了寻呼机。我需要处理每一行的删除事件,以便我可以处理删除而无需重新加载服务器端数据。我已经看过jqGrid Delete a Row中提到的方法了,除非我有两个问题让我感到困惑,否则它会非常有用 -
rp_ge
事件中的delOptions.onClickSubmit
参数是否有更多详细信息?
我的列的delOptions设置为 - delOptions: {onclickSubmit: function(rp_ge, rowid) {return onRowDelete(rp_ge,rowid);}},processing:true }},
有没有办法从该事件中获取网格ID?我想要一个通用函数,我可以用来处理页面上所有网格的删除事件。 rp_ge
参数有gbox
,有时包含附加的网格ID?但是我不知道它是什么,因为我不知道它何时被填充,何时不是。
function onRowDelete(rp_ge, rowid) {
//hardcoded grid id.. don't like it.
var gridid = '#Grid_X';
//what is this gbox?? can i get grid id predictable from it?
//var gridid = rp_ge.gbox.replace("#gbox_", "");
var grid = $('#Grid_X');
rp_ge.processing = true;
var result = grid.delRowData(rowid);
if (result) {
$("#delmod" + grid[0].id).hide();
}
return true;
}
$("#delmod"+grid[0].id).hide();
手动隐藏了弹出删除确认对话框。我注意到的是,当弹出对话框时,jqgrid会强调背景页面(使其变得淡灰色)。但是在手动关闭弹出窗口(实际隐藏?)之后,背景仍然不再强调。所以看起来页面没有焦点(甚至禁用)。这有什么办法可以修复吗?这也可以在demo写的Oleg上看到。任何帮助将不胜感激。 (PS - 我会对同一篇文章发表评论,但我还没有足够的观点评论其他人的答案。)