Jqgrid: 如何 cancel/hide 删除对话框

Jqgrid: How to cancel/hide delete dialog

我正在使用免费的 jqgrid 4.15

我在下面的分页器中有添加、删除、编辑按钮。当用户选择行并单击删除时,我想检查一个单元格值,如果它等于某个值,我不想显示删除对话框,而是显示无法删除的警告。

我的网格的一些设置如下:

     {
       cmTemplate: { autoResizable: true, editable: true },
       guiStyle: "bootstrap",
       sortable: true,
       pager: true,
       formEditing: {           
      closeOnEscape: true,
      closeAfterEdit: true,
      closeAfterAdd: true,
      closeAfterDelete: true,
      savekey: [true, 13],
      addCaption: "Add Me",
      editCaption: "Edit Me ",
      bSubmit: "Submit"                   
    },
   formDeleting: {
    width: 100,
    caption: 'Delete'
   },
  }).jqGrid("navGrid", { add: true, edit:true, del: true, refresh: true, 
 view: false },
    {
    beforeShowForm: function (form) {                     
    }
  },
   {
    beforeShowForm: function (form) {           
    }
}

) });

您可以 hide/show 导航栏的删除按钮取决于行中单元格的值。您可以为此使用 onSelectRow 回调。删除按钮的 ID(和所有其他按钮一样)将基于网格的 ID 构建。例如,如果网格 ID 为 "list",则底部导航栏中删除按钮的 ID 将为 "del_list",顶部导航栏中相同按钮的 ID(如果您使用 toppager: true) 将是 "del_list_top"。 shows/hides 按钮的代码看起来接近于以下内容:

onSelectRow (rowid) {
    var item = $(this).jqGrid("getLocalRow", rowid),
        $delButton = $("#del_" + this.id + ",#del_" + this.id + "_top");
    if (item.closed) {
        $delButton.hide();
    } else {
        $delButton.show();
    }
}

可以选择 disable/enable 按钮而不是 hiding/showing。