Я играл с этим сам в течение последних нескольких дней ...
первую очередь вам необходимо определить метод, который позволяет передать идентификатор узла (тот, который вы расширяются) или null, если вы получаете корневые узлы и возвращает список объектов узла.
При настройке древовидного изображения убедитесь, что вы не устанавливаете модель для использования поля «дети» - это предотвращает любую портировку по какой-либо причине и устанавливает для loadOnDemand значение true (по умолчанию это так или иначе).
После того, как вы установили это, вам необходимо настроить файл transport.read.data, чтобы получить идентификатор узла и передать его через вызов метода.
В моих примерах я определил свою модель дерева как объект с объектами ItemId, ItemName, HasChildItems и ParentTreeId.
Настройка HasChildItems на true обеспечивает возможность расширения для узла.
Примеры: -
Демонстрация конфигурации
// the Datasource
var demoDataSource= new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: urlforyouraction_dataretrieval,
cache: false,
type: 'POST',
dataType: "json",
traditional: true,
data: function (e) {
return {
// e is the node passed in, this is null on initial read
ParentTreeId: !e.id ? null : e.id
}
}
}
},
schema: {
model: {
id: "ItemId",
Name: "ItemName",
hasChildren: "HasChildItems",
parentTreeId: "ParentTreeId"
}
}
});
// the treeview
var demoTree = $("#treeview-left").kendoTreeView({
loadOnDemand: true,
dataSource: demoDataSource,
dataTextField: "ItemName"
}).data("kendoTreeView");