2014-02-06 3 views
0

Я хочу показать, что мой Kendo UI TreeView расширяется за все время, но он будет показывать только рухнувший. При перезагрузке источника данных я могу видеть вспышку расширенного дерева, но затем она рушится.Невозможно развернуть все узлы в Kendo TreeView

var locationTreeView = $("#treeViewLocations").kendoTreeView({ 
checkboxes: { 
    checkChildren: false, 
    template: "# if(item.showCheckbox){# <input type='checkbox' name='selectedLocations' value='#= item.value #' />#}#" 
}, 
dataTextField: "text", 
dataSource: { 
    transport: { 
     read: { 
      url: window.location.origin + "/api/v1/bookingrequestlocation", 
      dataType: "json", 
      type: "GET", 
      data: { bookingSeasonPeriodId: bookingSeasonPeriod.value() }, 
     } 
    }, 
    schema: { 
     model: { 
      id: "value", 
      children: "items", 
      hasChildren: "hasChildren", 
     } 
    } 
}}).data("kendoTreeView"); 

expandTreeView(); 

function changeSeason() { 
    locationTreeView.dataSource.read(); 
    expandTreeView();} 

function expandTreeView() { 
    locationTreeView.expand(".k-item");} 
+1

просто предложение .. огонь expandTreeView() функция в событии с привязкой – MustafaP

+1

Спасибо! Бросьте ответ ... – baddaydaddy

ответ

2

Огонь expandTreeView() функция в DataBound случае

+0

Одна из неприятных вещей об этом, это не работает, если вам нужно вызвать $ ("# yourTree"). Data ("kendoTreeView"), чтобы получить ваше древовидное представление - это возвращает undefined в то время события dataBound – PandaWood

+0

На самом деле это не работает для меня вообще. expand() вызывается в событии dataBound и просто ничего не делает – PandaWood

0

Это работает для меня ... Спасибо ... Я добавил DataBound Событие Как это

.Events(e => e.DataBound("ExpandAllTree")) 

и в этом методе

function ExpandAllTree() { 
     var treeview = $("#TreeView").data("kendoTreeView"); 
     treeview.collapse(".k-item"); 
    } 

И это прекрасно работает ...

0
Add the following code right after creating the treeview 

var tree = $("#TREEVIEWID").data("kendoTreeView"); 
     function expandTreeNodes() { 
      if ($('.k-item').length) { 
       var expandedLength = $('.k-item').length; 
       tree.expand(".k-item"); 
       if (expandedLength < $('.k-item').length) { 
        expandTreeNodes(); 
       } 
      } 
     } 
Смежные вопросы