Как получить свернутую строку 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 ответ
Решение
Я только что попробовал, не уверен, как выглядят ваши данные, но посмотрите:
<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
ура