2016-08-26 5 views
1

私はTreeViewを持っていて、ノードに「」の「ノードを無効にする」ボタンのように、データにstate_current != nullが含まれていると無効にしたいと考えています。剣道UI TreeViewノードを無効にする

私のコードは次のとおりです。

<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 - >可能にする)に従ってボタンで無効/有効にしたい場合、 。 –

答えて

1

ツリービューは、あなたのツリービューのオブジェクトである必要がありますが、ノード

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

を無効にしたいのはここにこれを行いますツリービューが作成されたら、あなたは以下のようにそれを選択することができます。 selectedNodeの代わりに、無効にする必要のあるノードを与えることができます。

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

あなたはツリービューが最初にレンダリングしながら、これを実行したい場合は、あなたがそれをしたい場合は選択している間、あなたはkendoTreeViewデータバインドされたイベントで、またはselectイベントでこれを確認することができます。

+0

こんにちはKarthik Sivaraj、あなたのおかげで、それは仕事です! –

+0

あなたを助けてくれてうれしいです。乾杯:-) –

関連する問題