Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 即使没有孩子,KendoUI Treeview也会表现出扭曲_Jquery_Json_Kendo Ui_Kendo Treeview - Fatal编程技术网

Jquery 即使没有孩子,KendoUI Treeview也会表现出扭曲

Jquery 即使没有孩子,KendoUI Treeview也会表现出扭曲,jquery,json,kendo-ui,kendo-treeview,Jquery,Json,Kendo Ui,Kendo Treeview,我有一个kendoui树视图,显示从json数据源获得的一些数据。treeview的工作异常是,即使没有子项,它也会显示子项的扭曲 我相信这与我的json字符串有关,但在这一点上,我不相信我可以更改它 以下是json字符串: [{"Title":"Shared Documents","spriteCssClass":"folder","LastModified":"1/15/2013 10:42:20 AM","Items":[{"Title":"Folder 1","spriteCssClas

我有一个kendoui树视图,显示从json数据源获得的一些数据。treeview的工作异常是,即使没有子项,它也会显示子项的扭曲

我相信这与我的json字符串有关,但在这一点上,我不相信我可以更改它

以下是json字符串:

[{"Title":"Shared Documents","spriteCssClass":"folder","LastModified":"1/15/2013 10:42:20 AM","Items":[{"Title":"Folder 1","spriteCssClass":"folder","LastModified":"1/15/2013 10:42:20 AM","Items":[{"Title":"Subfolder 1","spriteCssClass":"folder","LastModified":"1/15/2013 10:41:52 AM","Items":[]},{"Title":"Test Tax Document.docx","spriteCssClass":"docx","LastModified":"1/15/2013 10:42:20 AM","Items":[]}]}]}]
我认为问题在于,即使没有项目,项目[]仍然存在

这是我的树视图的代码

var treeDS = new kendo.data.HierarchicalDataSource({
            data: json,
            schema: {
                model: {
                    children: "Items"
                }
            }
        });

var treeview = $("#CCA_DocLibTreeViewer_Tree").kendoTreeView({
            template: "#= item.Title # - #= item.LastModified # <a href='\\#'>View</a>",
            dataSource: treeDS,
            dataTextField: ["Title", "Title"]
        }).data("kendoTreeView");
var treeDS=new kendo.data.hierarchycalDataSource({
数据:json,
模式:{
型号:{
儿童:“物品”
}
}
});
var treeview=$(“#CCA#u DocLibTreeViewer_Tree”)。kendoTreeView({
模板:“#=item.Title#-#=item.LastModified”,
数据来源:treeDS,
dataTextField:[“标题”,“标题”]
}).数据(“kendoTreeView”);

你有什么想法吗?

你是对的,问题是如果它有
项目
,不管
长度
它都假设它有孩子

解决方案是不生成那些空的
,或将
树定义为:

var treeDS = new kendo.data.HierarchicalDataSource({
    data  : json,
    schema: {
        model: {
            children   : "Items",
            hasChildren: function (node) {
                return (node.Items && node.Items.length > 0);
            }
        }
    }
});
您可以看到,我定义了一个
haschilds
函数,用于验证
节点。Items
是否存在,并且其
长度实际上大于
0

您可能会看到它在JSFIDLE中运行