1

나는 검도 트리보기가 있는데, 계층 적 데이터 소스로 채워집니다. 부모 노드를 선택하고 트리 뷰의로드시 확장하려고합니다. 나는 다음과 같이 확장하고 그렇게하도록 선택했다. 하지만 작동하지 않습니다. 아무도 솔루션을 제공 할 수 있습니까?검도 트리보기의 첫 번째 노드를 확장하고 선택하는 데 문제가 발생했습니다.

var treeData = new kendo.data.HierarchicalDataSource({ 

    transport: { 
     read: { 
      url: NsMenuMaster.urls.getMenuTreeUrl, 
      data: data, 
      datatype: "json", 
      type: "POST" 
     } 
    }, 
    schema: { 
     model: { 
      id: "MenuConfigUid",     
      children: "Child" 

     } 
    } 
}); 

$("#MenuTreelist").kendoTreeView({ 
    dataSource: treeData, 
    dataTextField: ["MenuText"], 
    dataValueField: ["MenuConfigUid"], 
    height: 1000, 
    template: kendo.template($("#treeview-template").html()), 
    checkboxes: { 
     template: "<input type='checkbox' name='StudentClassID' value='#= item.id #' />", 
     checkChildren: true 
    }, 
    select: NsMenuMaster.onSelect 
}); 

$("#MenuTreelist").getKendoTreeView().select(".k-first"); 
$("#MenuTreelist").getKendoTreeView().expand(".k-first"); 

답변

2

.select() 및 .expand() 코드가있는 곳의 위치가 잘못되었습니다. 현재 호출하고있는 시점에서 원격 데이터 소스가 아직 채워지지 않았으므로 트리에 아직 노드가 없습니다.

이후에 선택 확장 코드를 으로 이동해야 원격 데이터 소스가 읽히고 .k- 첫 번째 노드가 존재합니다.

당신은 트 리뷰의 첫 번째 데이터 바인딩 이벤트, 즉 결합함으로써이 작업을 수행 할 수 있습니다

$("#MenuTreelist").kendoTreeView({ 
    .... 
}); 

var treeView = $("#MenuTreelist").getKendoTreeView(); 
treeView.one("dataBound", function() { 
    treeView.select(".k-first"); 
    treeView.expand(".k-first"); 
}); 

예 : http://dojo.telerik.com/@Stephen/iYIBo

+0

너무 감사합니다. 너는 천재 야. :) –