我试图展示一个配置了远程数据的Kendo TreeView,但预先填充了直接从html加载的数据的前两个级别。在Kendo的PushCreate儿童节点HierarchicalDataSource
对于这一点,我想用的剑道的DataSource 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中另一个元素的子元素?
不幸的是,这是行不通的!第二级仍然从远程加载。当您更改HierarchicalDataSource的URL时,您会看到只有父项会被加载。 – leo 2015-08-21 15:11:12