2016-08-26 2 views
1

TreeView가 있고 데이터에 의 "노드 비활성화"버튼과 같은 state_current != null과 같은 노드가 포함될 때 일부 노드를 비활성화하려고합니다.Kendo-UI TreeView 노드 사용 안 함

내 코드입니다 : 당신은 트 리뷰가 작성되면

다음
var selectedNode = treeview.select(); 
    treeview.enable(selectedNode, false); 

트 리뷰 당신의 트 리뷰 개체를해야합니다, 당신은 아래를 선택 할 수있는 노드를 사용하지 않을 경우

<script> 
    $(document).ready(function() { 

     var treeview = $('#Tree_view').kendoTreeView({ 
      template: "#= item.name #", 
      dataSource: Parcours, 
      dataTextField: 'name', 
      loadOnDemand: true, 
      expand: onExpandedItem 
     }); 
    }); 

    function onExpandedItem(e) { 

     var id_user = @Model.id; 

     var item = $('#Tree_view').data('kendoTreeView').dataItem(e.node) 

     var type = item.fields.type; 

     if (item.level() > 0) { 
      item.id_parcours = item.parentNode().id_parcours; 
      if (item.level() == 2) { 
       item.id_promo = item.parentNode().id; 
      } 
     } 
     else item.id_parcours = item.Id; 

     switch (type) { 
      case 'parcours': 
       item.children.transport.options.read = { 
        url: '@Url.Action("Get_Session", "Users")' + '?user_id=' + id_user, 
        dataType: "json", 
       }; 
       break; 

      case 'session': 
       item.children.transport.options.read = { 
        url: '@Url.Action("Get_Matiere")' + '?user_id=' + id_user, 
        dataType: "json" 
       }; 
       break; 

      default: 
       break; 
     } 
    } 

    var Matiere = { 
     transport: { 
      read: { 
       url: '@Url.Action("Get_Matiere")', 
       type: 'GET', 
       dataType: 'json' 
      } 
     }, 
     schema: { 
      model: { 
       fields: { 
        name: 'Name', 
        type: 'matiere' 
       }, 
       hasChildren: false, 
      } 
     } 
    } 

    var Session = { 
     transport: { 
      read: { 
       url: '@Url.Action("Get_Session")', 
       type: 'GET', 
       dataType: 'json' 
      } 
     }, 
     schema: { 
      model: { 
       fields: { 
        id: 'IdPromo', 
        name: 'NamePromo', 
        type: 'session', 
        date: 'Date', 
        state: 'State_current', 
       }, 
       hasChildren: true, 
       children: Matiere 
      } 
     } 
    } 

    var Parcours = { 
     transport: { 
      read: { 
       url: '@Url.Action("Get_Parcours", "Users")', 
       data: {user_id: @Model.id}, 
       type: 'GET', 
       dataType: 'json' 
      } 
     }, 
     schema: { 
      model: { 
       fields: { 
        id: 'Id', 
        name: 'Name', 
        type: 'parcours' 
       }, 
       hasChildren: true, 
       children: Session 
      } 
     } 
    }; 
</script> 
+0

* 사용을 중지 하시겠습니까? 노드가 클릭되면; 사용자가 모든 노드를 한 번에 비활성화하려면 비활성화 버튼을 클릭하면됩니까? 아직 명확하지 않습니다. – DontVoteMeDown

+0

노드는 시작시 비활성화 될 수 있습니다. 변수 "State_current"에 의존하며 "State_current"(State_current = null -> 비활성화 할 수 있음/State_current! = null -> enable)에 따라 버튼을 비활성화/. –

답변

1

는이 작업을 수행 . 그리고 selectedNode 대신에 비활성화해야 할 노드를 지정할 수 있습니다.

var treeview = $('#Tree_view').data("kendoTreeView");

트리 뷰가 렌더링하는 동안이 작업을 수행하려면 당신이 선택하는 동안 원하는 경우 먼저 kendoTreeView의 데이터 바인딩 된 이벤트이를 확인하거나 선택 이벤트에서 할 수 있습니다.

+0

안녕하세요 카티크 시바 라즈, 도와 줘서 고마워요 !! –

+0

행복하게 도와주었습니다. 건배 :-) –