2011-10-17 177 views
1

我有一个网页,其中包含多个jqgrid,每个jqgrid都启用了内联编辑功能,“操作”列(编辑图标)启用,传呼机禁用。我需要处理每行的delete事件,以便我可以在不重新加载服务器端数据的情况下处理删除操作。我看着在jqGrid Delete a Row提到的方法,它是非常有帮助的,除了我有被绊倒了我两个问题 -如何在不重新加载整个网格的情况下删除jqgrid行?

  1. 周围是否有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; 
} 
  • jqGrid Delete a Row方法中,代码$("#delmod"+grid[0].id).hide();是隐藏弹出删除确认对话框手动。我注意到,当对话框弹出时,jqgrid不再强调背景页面(使它变得灰暗)。但弹出后手动关闭(实际上隐藏?)后,背景仍然不被强调。所以它看起来像网页没有焦点(甚至禁用)。任何方式可以修复?这也可以在Oleg写的demo上看到。
  • 任何帮助,将不胜感激。 (PS - 我会评论同一帖子,但我没有足够的评论点评别人的答案。)

    回答

    0

    回答你的第二点。 Oleg例如this的几个例子有以下修改。

    $("#delmod" + grid[0].id).hide(); 
    

    被替换

    $.jgrid.hideModal(
        "#delmod"+grid_id, 
        {gb:"#gbox_"+grid_id,jqm:rp_ge.jqModal,onClose:rp_ge.onClose} 
    ); 
    

    此删除操作后,将返回焦点。

    相关问题