小编典典

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

javascript

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

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

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


阅读 373

收藏
2020-05-01

共1个答案

小编典典

在旧示例中],可以在“添加”或“编辑”对话框中修改的所有字段都具有属性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为回调函数。它允许使该列在某些行中可编辑,而对其他行则不可编辑。

2020-05-01