【发布时间】:2015-01-20 05:47:53
【问题描述】:
我正在尝试显示一个配置了远程数据的 Kendo TreeView,但使用直接从 html 加载的数据预填充前两个级别。
为此,我想使用 Kendo 数据源的 pushCreate 方法将初始元素添加到树中:
homogeneous = new kendo.data.HierarchicalDataSource({
transport: { read: { url: serviceRoot + "/Employees", dataType: "jsonp" } },
schema: {
model: {
id: "EmployeeId",
hasChildren: "HasEmployees"
}
}
});
// Adding root
homogeneous.pushCreate({"EmployeeId":2,"FullName":"Andrew Fuller","HasEmployees":true,"ReportsTo":null});
// Adding children
homogeneous.pushCreate([
{"EmployeeId":1,"FullName":"Nancy Davolio","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":3,"FullName":"Janet Leverling","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":4,"FullName":"Margaret Peacock","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":5,"FullName":"Steven Buchanan","HasEmployees":true,"ReportsTo":2},
{"EmployeeId":8,"FullName":"Laura Callahan","HasEmployees":false,"ReportsTo":2}
]);
$("#treeview").kendoTreeView({
dataSource: homogeneous,
dataTextField: "FullName"
});
但是,子元素被添加到根级别(您可以看到它正在运行here)。
有一个schema.model.children 配置来设置将子元素保存在根元素中的属性,我可以一次性添加所有内容,但如果我使用它,那么 dataSource 将停止处理远程数据(你可以看到正在运行here)。
所以问题是,有没有办法使用 pushCreate 将元素添加为 HierarchicalDataSource 上另一个元素的子元素?
【问题讨论】:
标签: javascript kendo-ui kendo-treeview