我有一个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();
}
}
答案 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
欢呼