2015-06-19 49 views
0

我有一個帶有3個根父節點的kendotreeview。示例如下所示。
當我放下child3新的子分組,節點「新子組」 會直接默認擴大就算有人之前崩潰。我想阻止這種可能性。如果之前擴展了新的SubGroup,那麼我想保留原樣。問題是擴展databound事件之前被調用,因此我卡在這裏。當其數據源由於在劍道樹視圖中添加子項而更新時,阻止擴展父節點

請幫忙。

parent1:

--New SubGroup 
--Child2 
--Child3 
--Child4 

parent2:後

--Child4 
--Child5 

Code snippet: 
 
dataBound: function (e) { 
 
      console.log("DataBound", e.node); 
 
      var nodedataitem = $("#DimMeasTree").data("kendoTreeView").dataItem($(e.node)); 
 
      if (nodedataitem.FieldKey === "SubGroup" && ($(e.node).attr("aria-expanded")) === "true") { 
 
       
 
       $("#DimMeasTree").data("kendoTreeView").collapse($(e.node)); 
 
      } 
 
     }

回答

1

我訂閱我自己的自定義擴展功能(即subgroup_expand())我初始化我樹視圖。如下所示:

<div id="treeview"></div> 
<script> 
function subgroup_expand(e) { 
    if (typeof event === 'undefined') { 
     //If browser is Firefox, the subgroup will expand and do not close automatically. 
     // It is because Firefox does not support "event" attribute gloabally as in IE or in Google chrome. 
    } 
    else if (!!e.node && typeof(event) !== 'undefined' && event.type !== "click" && event.type !== "dblclick") { 
     var nodedataitem = $("#treeview").data("kendoTreeView").dataItem($(e.node)); 
     if (nodedataitem.FieldKey === "SubGroup") { 
      // e.preventDefault(); 
      setTimeout(function() { 
       //Collapse the subgroup if it was not expanded by click or dblclick. 
       $("#treeview").data("kendoTreeView").collapse($(e.node)); 
      }, 50); 
     } 
    } 
} 
$("#treeview").kendoTreeView({ 
    dataSource: modeldata 
}); 
var treeview = $("#treeview").data("kendoTreeView"); 
treeview.bind("expand", subgroup_expand); 
</script> 
相關問題