【问题标题】:kendo inline editing enable and disable fieldskendo 内联编辑启用和禁用字段
【发布时间】:2013-02-12 02:15:15
【问题描述】:

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

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();
        }
    }
}

【问题讨论】:

    标签: kendo-ui


    【解决方案1】:

    有两个问题:

    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),请使用正确的名称。

    编辑:查看运行示例here

    【讨论】:

    • 我的 model.ID = RefID 因此我输入了 if(e.model.RefID)。我收到以下错误:“Microsoft JScript 运行时错误:无法获取属性“标题”的值:对象为 null 或“未定义”
    • 您使用的是哪个版本的剑道 UI?
    • 我相信我使用了以下内容:Q2 2012 SP1
    • 请检查jsfiddle.net/OnaBai/ehnSq。创建时,您无法编辑 名字,但可以在编辑现有记录时进行。
    • 是的,我检查了您的代码,但不幸的是仍然无法在现场工作。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-30
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多