jQGrid,如何使列在添加对话框中可编辑,但在(​​内联)编辑期间不可编辑

发布于 2021-02-02 17:16:44

我有一个jQGrid的列,我只想在添加新行时可编辑。

我已经看到了在对话框中同时进行编辑和添加时如何执行此操作的示例,但是是否可以通过内联编辑来执行此操作?

我试过在beforeShowForm:中使用grid.setColProp(),但这是行不通的(该列保持只读状态,并且在添加对话框中不存在)。

关注者
0
被浏览
102
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    在旧示例中],可以在“添加”或“编辑”对话框中修改的所有字段都具有属性editable:true。仅应在“添加”对话框中显示的字段将被隐藏在beforeShowForm事件句柄内。以相同的方式,我们可以在调用editRow方法之前将某些字段临时 切换到,并editable:false在调用editable:true之后立即重置为立即返回:

    onSelectRow: function(id) {
        if (id && id !== lastSel) {
            grid.jqGrid('restoreRow',lastSel);
            var cm = grid.jqGrid('getColProp','Name');
            cm.editable = false;
            grid.jqGrid('editRow', id, true, null, null, 'clientArray');
            cm.editable = true;
            lastSel = id;
        }
    }
    

    更新: 免费jqGrid允许定义editable为回调函数。它允许使该列在某些行中可编辑,而对其他行则不可编辑。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看