【问题标题】:how to get the data of selected node on TreeView kendo ui?如何在 TreeView kendo ui 上获取选定节点的数据?
【发布时间】:2014-01-24 09:52:02
【问题描述】:

通过单击树视图的节点,我需要检索由远程数据加载的树视图的数据。

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","Name": "one","hasFiles":true,"items":[{"id":"3","Name":"four","hasFiles":true,"items":[{"id":"4 ","Name":"four.txt","hasFiles":false,"items":[]}]}]} ];

我尝试使用 select 和 change 事件来完成,它仅适用于本地数据,但不适用于远程数据。 选择事件未定义,而更改事件甚至没有被调用。奇怪的是,更改事件在 jsbin 中有效,但在 jsfiddle 和我的应用程序中无效。运行应用程序时我没有发现任何错误。 在此先感谢。小提琴上的示例演示将是一个很大的帮助..

【问题讨论】:

    标签: events kendo-ui treeview


    【解决方案1】:

    您的 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
    
                     }
    }  
    

    【讨论】:

    • 与 var item = this.dataItem(k.node); 有何不同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多