通过监听处理"cellbeginedit"事件,可以控制每个行、每个单元格是否可编辑。

参考示例:demo/DiyEditable.html

代码如下:

//控制单元格是否可编辑
project.on("cellbeginedit", function (e) {
    var task = e.record, column = e.column, field = e.field;
//控制行,摘要任务不可编辑
if (task.Summary == 1) {
   //禁止编辑
        e.cancel = true;
    }
//控制列,工期列不可编辑
    if (field == 'Duration') {
        e.cancel = true;
    }
});