Kendo:我该如何在树视图中创建一个递归的hieiarchy
Kendo: How do I create a recursive hieiarchy in the TreeView?
我正在使用Kendo UI,并试图弄清楚如何让TreeView显示递归层次结构。首先,这是我的模型(我正在通过OData检索这些对象的列表):
public class PageTreeItem
{
public Guid Id { get; set; }
public string Name { get; set; }
public bool IsEnabled { get; set; }
public PageTreeItem[] SubPages { get; set; }
}
这是我的JavaScript:
var PagesDS = new kendo.data.HierarchicalDataSource({
type: "odata",
transport: {
read: {
url: "/odata/cms/PageTree",
dataType: "json"
}
},
schema: {
data: function (response) {
return response.value;
},
total: function (response) {
return response.value.length;
},
model: {
id: "Id",
children: "SubPages"
}
}
});
PagesDS.read();
$("#treeview").kendoTreeView({
template: kendo.template($("#treeview-template").html()),
dataSource: PagesDS,
dataTextField: ["Name"]
});
最后,标记:
<div id="treeview"></div>
<script id="treeview-template" type="text/kendo-ui-template">
<a href="javascript:void(0)" onclick="viewModel.edit('#=item.Id#')">#= item.Name #</a>
</script>
我只能获得要显示的顶级项目。显然,在schema->模型中设置"children"属性是不起作用的。我如何实现我想要的?
好的,忽略。。我的问题是子页面一开始并没有被返回。。。哎呀!我只是假设它们会自动与其他所有内容序列化。我需要在OData查询中提供$expand选项,如下所示:
read: {
url: "/odata/cms/PageTree?$expand=SubPages",
dataType: "json"
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 我应该如何从xml文件构建一个javascript页面
- Regex代码只允许一个空格
- Kendo:我该如何在树视图中创建一个递归的hieiarchy