当用户单击添加并点击重新加载按钮而不保存行时,添加按钮不会恢复。保存和取消按钮仍处于活动状态。如何手动取消行内编辑?或者有没有办法找到这些按钮以便我可以隐藏它们?
2 回答
要启用由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"
。
要在刷新网格之前或之后重置按钮的状态,您可以使用afterRefresh
或beforeRefresh
回调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");
}
我包含上面的代码主要是为了您需要对按钮进行其他类型的“启用”或“禁用”。
您需要使用该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(){});
});