如何使用内联编辑选项动态地将列添加到kendo网格

时间:2014-03-13 12:09:21

标签: dynamic kendo-ui grid kendo-grid inline-editing

我有一个列数组对象,它绑定到kendo网格的columns属性。如果我在数组中添加一个命令,则会出现该按钮,但编辑事件未触发。

同样在编辑模式下,我需要将每列中的复选框设置为启用,并根据列名更新它。

我使用下面的代码添加列,并且绑定到kendo grid的columns属性。

  var titleDefs = [
        "User Name", "Admin", "Print"
    ];
    // Field Definition
    var fieldDefs = [
        "UserName", "Admin", "Print"
    ];
    var columnDefs = [];

    for (var i = 0; i < titleDefs.length; i++) {
        if (i == 0)
            columnDefs.push({
                title: titleDefs[i], field: fieldDefs[i],
            });

        else
            columnDefs.push({
                title: titleDefs[i], field: fieldDefs[i], template: '<input id=chk' + fieldDefs[i] + ' name=chk' + fieldDefs[i] + ' type="checkbox" #=  ' + fieldDefs[i] + ' ? "checked=checked style=display:block disabled=disabled" : " style=display:none" #  ></input>',
            });
    }
    columnDefs.push({ command: "edit", title:"", width:"100px"});

请帮助我。

1 个答案:

答案 0 :(得分:0)

在列列表中定义列时,您将根据要使其可编辑的内容(即YourProperty)在数据源中拥有该属性,使用此属性可以绑定已检查的属性,如下所示。

columnList = [{ title: "", width: "30px", template: "<input class='chkEmail' id='chk_#= DocumentGUID #' type='checkbox'  data-bind='checked: YourProperty' #= YourProperty? checked='checked' : '' #/>", groupable: false}]