我想构建一个混合树来显示整个系统的全局 View 。 该系统是一个内容管理系统,但它还具有其他功能,可以从构成我的全局 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 ,以便绑定(bind)到调用自定义展开和折叠函数的自定义数据源,以便我可以根据我所知道的关于节点代表的更复杂的事情做出决策?
我需要这样做,因为根据节点类型,它的子节点将来自不同的端点,因此我不能只使用 OData 数据源。
我正在尝试做这样的事情,但我似乎无法让它发挥作用......
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
...我想我现在已经拥有完成此操作所需的所有部分。
关于c# - 自定义 Kendo UI Treeview 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46176473/