2014-01-24 88 views
3

通過單擊treeview節點,我需要檢索由遠程數據加載的treeview數據。如何獲取TreeView上的選定節點的數據kendo ui?

var homogeneous = new kendo.data.HierarchicalDataSource({ 
         transport: { 
          read: { 
           url: '<c:url value="/welcome/list/"/>', 
           dataType: "json" 
          } 
         }, 

         schema: { 
          model: { 
           hasChildren: "hasFiles", 
           children: "items" 
          } 
         } 
          }); 



       var tv= $("#treeview").kendoTreeView({ 
        dataSource: homogeneous, 
        dataTextField: "Name", 
          change:function(e){ 
         // Need to retrive the "hasFiles" data on clicking the respective selected nodes of treeview 
} 
} 

我的遙感數據的JSON格式會是這樣。

[{「id」:「1」,「Name」:「five.txt」,「hasFiles」:false,「items」:[]},{「id」:「2」 : 「一」, 「hasFiles」:真正的 「項目」:[{ 「ID」: 「3」, 「姓名」: 「四有」, 「hasFiles」:真正的 「項目」:[{ 「ID」:」 4「,」Name「:」four.txt「,」hasFiles「:false,」items「:[]}]}]} ];

我試圖完成使用選擇和更改事件,其工作只與本地數據,但不與遠程數據。 選擇事件給出未定義,而變化事件甚至沒有被調用。在jsbin中更改事件工作,但不是在jsfiddle和我的應用程序中。運行應用程序時,我沒有發現任何錯誤。 在此先感謝。小提琴示例演示將是一個很好的幫助..

回答

3

您的TreeView實例化代碼將需要一個選擇事件,並選擇事件將採取該事件作爲參數。然後,您將使用該事件對象來獲取所需的樹視圖數據。

var tv= $("#treeview").kendoTreeView({ 
       // other configuration code removed for brevity 
       select: function (e) { 
        e.preventDefault(); 
        var tree = $('#treeview').data('kendoTreeView'); 
        var dataItem = tree.dataItem(e.node); 
        // You will then have data item, and can use 
        // the properties for whatever you need to do 

       } 
} 
+0

它是如何不同於var item = this.dataItem(k.node); – HaBo

相關問題