手动取消内联行编辑?

时间:2012-09-11 17:22:23

标签: jquery jqgrid

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

2 个答案:

答案 0 :(得分:1)

要启用inlineNav添加的按钮,您需要删除课程'ui-state-disabled'(致电.removeClass('ui-state-disabled'))。要禁用该按钮,您需要添加课程'ui-state-disabled'(致电.addClass('ui-state-disabled'))。要识别(选择关于jQuery)按钮,您需要知道按钮的ID将根据网格的id和基于按钮名称构造的后缀构建:"_ilsave""_ilcancel""_iladd""_iledit"。例如,如果网格的ID为"list",则保存按钮的ID将为"list_ilsave"

要在刷新网格之前或之后重置状态按钮,您可以使用afterRefresh的{​​{1}}或beforeRefresh回调(请参阅the documentation)或在此处执行此操作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

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

答案 1 :(得分: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(){});
});