【问题标题】:KendoUI Treeview shows twisty even when has no children即使没有孩子,Kendo UI Treeview 也会显示曲折
【发布时间】:2012-12-31 07:00:40
【问题描述】:

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

我认为这与我的 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":[]}]}]}]

我认为问题在于即使没有项目,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");

对此我能做些什么有什么想法吗?

【问题讨论】:

    标签: jquery json kendo-ui kendo-treeview


    【解决方案1】:

    你是对的,问题是如果它有Items,不管length它假定有孩子。

    解决方案是要么不生成那些空的Items,要么将treeDS定义为:

    var treeDS = new kendo.data.HierarchicalDataSource({
        data  : json,
        schema: {
            model: {
                children   : "Items",
                hasChildren: function (node) {
                    return (node.Items && node.Items.length > 0);
                }
            }
        }
    });
    

    你可以看到我已经定义了一个hasChildren函数来验证node.Items是否存在并且它的length实际上大于0

    您可能会看到它在 JSFiddle here 中运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-06
      • 2016-12-15
      相关资源
      最近更新 更多