2013-05-02 104 views
0

我有一个kenodui树视图,我试图扩展顶级节点,如果它们具有以下值:“活动”或“关闭”,其余节点可以保持关闭状态。我使用下面的代码来创建我的树视图:KendoUI Treeview根据值扩展节点

if (CI.Popup.treeview == null) { 
     CI.Popup.treeview = $("#RelatedPropertyListing").kendoTreeView({ 
      template: "#= item.Name #", 
      dataImageUrlField: "image", 
      dataSource: CI.Popup.treeDS, 
      dataTextField: ["Name", "Name"], 
      encoded: true 
     }).data("kendoTreeView"); 
    } 

我的数据源被定义为json kendo.data.HierarchicalDataSource。我曾尝试使用html代替数据源来生成treeview,但它的速度非常慢,所以我不得不使用这种方法。

任何想法如何我只能展开具有“活动”或“关闭”值的节点?

在此先感谢您的帮助。

回答

1

如果您可以稍微更改返回的数据,则可以为要扩展的每个节点设置expandedtrue,并且KendoUI会自动处理它。

实施例:

var data = [ 
    { 
     text : "node 1", 
     expanded: true, 
     items : [ 
      { text: "node 1.1" }, 
      { 
       text : "node 1.2", 
       expanded: false, 
       items : [ 
        { text: "node 1.2.1" }, 
        { text: "node 1.2.2" }, 
        { text: "node 1.2.3" } 
       ] 
      }, 
      { text: "node 1.3" } 
     ] 
    } 
]; 

var treeview = $("#treeview-left").kendoTreeView({ 
    dataSource : data, 
    loadOnDemand: true 
}).data("kendoTreeView"); 

的jsfiddle在here