0

当用户单击添加并点击重新加载按钮而不保存行时,添加按钮不会恢复。保存和取消按钮仍处于活动状态。如何手动取消行内编辑?或者有没有办法找到这些按钮以便我可以隐藏它们?

4

2 回答 2

1

要启用由inlineNav添加的按钮,您需要删除类'ui-state-disabled'(调用.removeClass('ui-state-disabled'))。要禁用该按钮,您需要添加类'ui-state-disabled'(调用.addClass('ui-state-disabled'))。要识别(根据 jQuery 选择)按钮,您需要知道按钮的 id 将由网格的 id 和基于按钮名称构造的后缀构成:"_ilsave", "_ilcancel", "_iladd", "_iledit"。例如,如果网格"list"的 id 是,那么保存按钮的 id 将是"list_ilsave"

要在刷新网格之前或之后重置按钮的状态,您可以使用afterRefreshbeforeRefresh回调navGrid(请参阅文档)或在loadComplete回调中执行此操作。例如

loadComplete: function () {
    var idSelector = "#" + $.jgrid.jqID(this.id);
    $(idSelector +"_ilsave").addClass('ui-state-disabled');
    $(idSelector +"_ilcancel").addClass('ui-state-disabled');
    $(idSelector +"_iladd").removeClass('ui-state-disabled');
    $(idSelector +"_iledit").removeClass('ui-state-disabled');
}

或者,您可以使用showAddEditButtons而不是上述所有调用:

loadComplete: function () {
    $(this).jqGrid("showAddEditButtons");
}

我包含上面的代码主要是为了您需要对按钮进行其他类型的“启用”或“禁用”。

于 2012-09-11T18:36:20.333 回答
0

您需要使用该restoreRow功能,请参见此处:http ://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing&s%5B%5D=editrow

您可以使用以下功能制作一个始终恢复所选行的按钮:

$('#the_button').click(function(){
    var rowid = jQuery('#grid_id').jqGrid('getGridParam', 'selrow');
    jQuery("#grid_id").jqGrid('restoreRow',rowid, function(){});
});
于 2012-09-11T17:36:48.357 回答