如何获取折叠的Kendo TreeList行?

时间:2018-10-09 11:45:01

标签: javascript kendo-ui kendo-grid kendo-treelist

我有一个Kendo TreeList和一个绑定到onCollapse()方法的崩溃事件。

我尝试使用e.source来获取折叠行,但这未定义

在绑定到dragstart,drop和其他事件的方法中,e.source是行,但不是折叠事件。

如何获取要折叠的行?

代码如下:

onCollapse: function (e) {
    console.log(e.source) //undefined
    var row = **?** ;    
    var dataItem = treeList.dataItem(row);
    if (dataItem.Level == 0) { //my dataitems have levels
        console.log("Prevent collapsing the ParentRow of all rows");
        e.preventDefault();
    }
}

----------- 已解决(请参见答案)--------  解决方案: e.model

onCollapse: function (e) {
        if (e.model.Level == 0) {
            console.log("Prevent collapsing the ParentRow of all rows");
            e.preventDefault();
        }
    }

1 个答案:

答案 0 :(得分:0)

我只是尝试了一下,不确定数据的外观,但是请看一下:

<script>
    $("#treeList").kendoTreeList({
      columns: [
        { field: "Name" },
        { field: "Position" }
      ],
      dataSource: [
        { id: 1, Name: "Daryl Sweeney", Position: "CEO", parentId: null, expanded: true },
        { id: 2, Name: "Guy Wooten", Position: "Chief Technical Officer", parentId: 1 }
      ],
      collapse: function(e) {
        console.log("collapse", e.model);
        console.log("collapse", e.model.Name); //will get Daryl Sweeney
      }
    });
</script>

因此,在这种情况下,它将写出折叠的项目的名称。

这里还有一个用于测试的Dojo:https://dojo.telerik.com/isiBaVEt

欢呼