具有远程数据源问题的Kendo Treeview

我的树视图有以下代码。 一切都好。 我可以使用我的树:展开,折叠,拖动项目。 但是当我为任何节点调用’select’事件时,我收到一个错误:

未捕获的TypeError:无法调用未定义的方法’dataItem’

在线上

var data = $("#treeview").data("kendoTreeView").dataItem(e.node);

任何想法如何解决? 如何访问我树的data("kendoTreeView") ? 我试图在数据源的endRequest事件上得到它,但它不起作用。

 var jsonUrl = "/admin/adminmenu/adminmenujson"; adminMenu = new kendo.data.HierarchicalDataSource({ transport: { read: { url: jsonUrl, dataType: "json" }, schema: { model: { id: "id", children: "items" } } }); var tree = $("#treeview").kendoTreeView({ name: "Admin Menu", expanded: true, loadOnDemand: false, dragAndDrop: true, dataSource: kendo.observableHierarchy(adminMenu), template: "#= item.name # ", select: function(e) { var data = $("#treeview").data("kendoTreeView").dataItem(e.node); console.log(data.id); } }).data("kendoTreeView"); 

select handler定义为:

 select : function (e) { var data = this.dataItem(e.node); console.log(data.id); } 

因为在select处理程序的上下文中是tree

这里的例子http://jsfiddle.net/OnaBai/MLdeH/

注意:尝试删除name: "Admin Menu",它也将工作!