我想构建一棵混合树,显示整个系统的全局视图。该系统是一个内容管理系统,但它还具有其他功能,可以从组成我的全局API的" ODATA上下文集合"中进行管理。
因此,我试图弄清楚如何制作层次的数据源,这些数据源可以根据节点类型和撒上动态模型元数据的不同URL使用。
例如...
我在框架中具有API功能,可以让我做...
my.api.get("Context/Type", function(odataCollectionResult) {
...
});
我也知道Kendo UI支持做类似...
的事情var viewModel = new kendo.data.HierarchicalDataSource({
type:'odata-v4',
...
});
$("#tree").kendoTreeview({ dataSource: viewModel ... });
...但是我的问题是...
我如何设置kendo treeview,以便我绑定到称为自定义扩展和崩溃功能的自定义数据源,以便我可以根据我知道的关于我的节点代表的内容做出更复杂的事情做出决定?
我需要这样做,因为取决于节点类型的孩子将来自不同的端点,所以我不能只使用odata dataSource。
我正在尝试做这样的事情,但我似乎无法正常工作...
var viewModel = {
data: [],
expand: function(node) {
var myParams = { endpoint: "Context/Type", childNodeType: "Foo/Bar" };
my.api.get(myParams.endpoint, function(data) {
node.data.children = buildNodes(myParams.childNodetype, data);
});
},
collapse: function(node) {
...
}
}
}
$("#myTree").kendoTreeview({
dataSource: viewModel,
events: { onExpand: viewModel.expand, onCollapse: viewModel.collapse }
});
是否有人这样做或对我如何工作有一些建议?
好吧,我现在意识到这个问题的愚蠢性,因为我设法以某种方式找不到这一点...
http://demos.telerik.com/kendo-ui/treeview/events
...我想我现在有所有需要做的东西。