2017-09-11 3 views
0

검도 그리드의 트리보기 데이터 (3 레벨)가 있고 검도 그리드 기능을 사용하여 트리보기를 확장/축소합니다. 내 요구 사항은 레벨별로 트리 데이터를 확장/축소하는 것이지 한 번에 모두 축소하는 것이 아닙니다. 검도 그리드 UI : 전체 트리 대신 단일 트리 노드 축소

$(".treeview").data("kendoTreeView").expand(".k-item"); 

문제가 붕괴 함께 다음 코드를 사용하여 잘 작동 확장. 접기 버튼 트리를 클릭하면 완전히 접히지 만 한 번만 접기를 원합니다.

은 내가 (treeview.findByText을 ("foo는")) treeview.collapse를 사용할 수

$(".treeview").data("kendoTreeView").collapse(".k-item"); Collapses to first level 
$(".treeview").data("kendoTreeView").collapse(".k-group"); same: Collapses to first level 

를 다음 시도; 그런 식으로 데이터가 동적이므로 정확한 텍스트를 모르겠습니다.

전체 트리 대신 하나의 노드 만 접을 수있는 방법이 있습니까?

답변

0

이것은 아코디언이 아닌 kendoGrid에서 작동하지만 동일한 방식으로 작동 할 수 있다고 상상합니다.

var panelCol = $(".treeview").data("kendoTreeView") 
panelCol.on('.collapse', function() { 
    panelCol.not(document.getElementById($(this).attr('id'))).removeClass('in') 
    .addClass('collapse').closest('.panel').find('a').addClass('collapsed'); 
}); 
+0

이 제안에 감사드립니다 수준에있는 모든 노드를 축소하지만 이름을 계산하여 고정 후 일부 기능에 의해

function collapse() { var text= calculateNode(test); var treeview = $(".treeview").data("kendoTreeView"); for (var i = 0; i < nTextValue.length; i++) { treeview.collapse(treeview.findByText(text[i])); } } 

을 그 가치를 찾아 먼저 동적 인 경우 및 (treeview.findByText ("foo"))를 사용하여; –