/ / Прив'язка віддалених даних JSON до Kendo TreeView - отримання лише першого рівня - jquery, json, kendo-ui, деревоподібне, kendo-treeview

Прив'язувати віддалені дані JSON до Kendo TreeView - отримувати лише перший рівень - jquery, json, kendo-ui, treeview, kendo-treeview

Я зараз намагаюся отримати Kendo TreeView для відображення деяких даних JSON.

var treeViewDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "/Utilities/Tool/Get/TreeView",
type: "get",
dataType: "json"
}
}
});

$("#tree-view").kendoTreeView({
loadOnDemand: false,
dataSource: treeViewDataSource,
select: onSelect
});

Де мої дані JSON виглядають так:

[{
"text": "CREATE",
"description": "Create Transaction",
"items": [
{
"text": "PSEUDO",
"feature": "CREATE",
"items": [
{
"text": "FIX",
}
],
"nodeChildren": 1
}
],
"nodeChildren": 1
},
{
"text": "DATA",
"description": "Data Report",
"items": [],
"nodeChildren": 0
}]

Тепер, дивна частина полягає в тому, що якщо я скопіювати і вставитинаведені вище дані JSON в kendo DataSource замість того, щоб викликати його віддалено, TreeView відображає дані просто чудово. Якщо замість цього виклику даних віддалено, TreeView відображає лише перший рівень вузлів і виглядає приблизно так:

CREATE

ДАНІ

Протягом короткого секунди під час завантаження таблицівидимі маленькі стрілки, які визначають, чи є у дітей діти, але вони скоро зникають. Я не впевнений, що відбувається, а Документація Kendo не дуже корисна. Чому Kendo не читає ці дані належним чином? Я використовую Postman для перевірки API і JSON виглядає чудово для мене, і працює, якщо копіювати в локально. Що дає?

Дякую

Відповіді:

1 для відповіді № 1

Я знайшов рішення для моєї проблеми, все, що я повинен був зробити, був безлад з схемою, хоча я до сих пір не повністю розумію, що / як схема працює.

var treeViewDataSource = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "/Utilities/Tool/Get/TreeView",
type: "get",
dataType: "json"
}
},
schema: {
model: {
children: "items"
}
}
});

Все, що мені потрібно було визначити - це поле для дітей.