Kendo Treeview出现远程数据源问题 [英] Kendo Treeview with remote datasource issue
问题描述
我的树形视图具有以下代码.一切都好.我可以使用我的树:展开,折叠,拖动项目.但是,当我为任何节点调用选择"事件时,都会收到错误消息:
I have the following code for my treeview. Everything is ok. I can use my tree: expand, collapse, drag items. But when I call 'select' event for any node I get an error:
未捕获的TypeError:无法调用未定义的方法'dataItem'"
Uncaught TypeError: Cannot call method 'dataItem' of undefined"
在线
var data = $("#treeview").data("kendoTreeView").dataItem(e.node);
任何想法如何解决?如何访问树的data("kendoTreeView")
?我试图在数据源的endRequest
事件上获取它,但是它不起作用.
Any ideas how to solve that? How can I access data("kendoTreeView")
of my tree? I've tried to get it on endRequest
event of datasource but it doesn't work.
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 # <input type='hidden' class='data_id' value='#=item.id#'>",
select: function(e) {
var data = $("#treeview").data("kendoTreeView").dataItem(e.node);
console.log(data.id);
}
}).data("kendoTreeView");
推荐答案
将select
处理程序定义为:
select : function (e) {
var data = this.dataItem(e.node);
console.log(data.id);
}
因为select
处理程序上下文中的this
是tree
.
Since this
in the context of the select
handler is the tree
.
此处的示例 http://jsfiddle.net/OnaBai/MLdeH/
注意::尝试删除name: "Admin Menu",
也会起作用!
NOTE: Try just removing name: "Admin Menu",
it will also work!!!
这篇关于Kendo Treeview出现远程数据源问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!