2

我如何在添加模式下启用某些字段并在编辑模式下禁用。我添加了以下代码,但我无法在添加模式下启用描述字段。请告知我如何实现这一目标?谢谢

model.fields(p=> p.Description).Editable(false);

我想在添加模式下启用描述并在编辑模式下禁用。以下代码不起作用。请告知代码是否有任何问题以及是否有其他方法。谢谢你

function onEdit(e) {
    var indexCell = e.container.context.cellIndex;
    var grid = $('#BTSession').data('kendoGrid');


    if (!e.model.isNew()) { // when Editing
        if (indexCell != 'undefined' && grid.columns[indexCell].Title == "Description") {
                $('#BTSession').data("kendoGrid").closeCell();
        }
    }
}
4

1 回答 1

2

有两个问题:

  1. title是小写的。检查应该是:grid.columns[indexCell].title
  2. isNew()总是false。或者,您可以在添加新记录时检查是否id存在。undefined

就像是:

function onEdit(e) {
    var indexCell = e.container.context.cellIndex;
    var grid = $('#BTSession').data('kendoGrid');


    if (e.model.id) { // when Editing the id is defined
        if (indexCell != 'undefined' && grid.columns[indexCell].title == "Description") {
            grid.closeCell();
        }
    }
}

注意:如果在您的模型id中未调用该列id(可以说myId),请使用正确的名称。

编辑:在此处查看运行示例

于 2013-02-12T07:11:39.537 回答