Javascript 未在KendoTreeView Web中显示子项
我真的错过了一些东西。我可以在根节点中看到结果,显示了两条记录,但是“activemeters”子节点没有显示。我跌跌撞撞地感谢你的帮助。希望使用KendoUI将这些结果推到pivot网格中是一个相当大的挫折,但控制是不存在的。我只需要两列,第一列列出表列名,第二列显示详细信息。非常感谢您的帮助,在这里学习了很多。您展示的JSON不足以说明您的层次结构是如何工作的,因为这只是一个级别上的一个节点,但是您定义的Javascript 未在KendoTreeView Web中显示子项,javascript,json,kendo-ui,kendo-grid,kendo-treeview,Javascript,Json,Kendo Ui,Kendo Grid,Kendo Treeview,我真的错过了一些东西。我可以在根节点中看到结果,显示了两条记录,但是“activemeters”子节点没有显示。我跌跌撞撞地感谢你的帮助。希望使用KendoUI将这些结果推到pivot网格中是一个相当大的挫折,但控制是不存在的。我只需要两列,第一列列出表列名,第二列显示详细信息。非常感谢您的帮助,在这里学习了很多。您展示的JSON不足以说明您的层次结构是如何工作的,因为这只是一个级别上的一个节点,但是您定义的dataTextField是不正确的。当它被指定为数组时,它应该是一个字符串数组,告诉t
dataTextField
是不正确的。当它被指定为数组时,它应该是一个字符串数组,告诉treeview在每个深度级别使用哪个字段作为节点的显示名称
我想你想要这样的东西:
//treeview source
function populateTreeView(search) {
debugger;
var tree = $("#tvwResults").kendoTreeView({
dataTextField: [{
text: search.columnName,
items: [{
text: "activemeters"
}]
}],
select: function (e) {
console.log("Selecting ", e.node)
},
animation: {
expand: {
effects: "fadeIn expandVertical",
duration: 600
}
}
}).data("kendoTreeView");
$.getJSON("http://127.0.0.2:6080/arcgis/rest/services/WW/WW2/MapServer/exts/RestSOE/Search%20Query?columnName=" + search.columnName + "&operand=" + search.operand + "&searchVal=" + search.searchVal + "&f=", function (data) {
tree.dataSource.data(data);
});
};
我尝试添加:tree.append({text:data.activemeters}),$(“#tree.k-item:first”);在tree.dataSource.data(数据)之后;不走运。你能分享一下你在树视图上设置的数据吗?或者,在JSFIDLE或jsBin中重新创建问题?我想您的
dataTextField
设置不正确。当然。这是我现有的数据,为节省空间而删减:[{“账户号”:“210663845”,“地址”:“9乡村路”,“城市”:“哈姆德尼”,“姓名1”:“安德鲁·史密斯”,“姓名2”:“街道”:“绿色街”,“街道号”:“25”,“活动仪表”:“T30619-00T|30078309”},…谢谢。但是,默认情况下,“数组”没有任何深度。我是否将其与JSON对象混淆?在我的数据示例中,…表示它在同一级别上重复。不确定如何在数据中“获取”级别,因为它的格式不包括它。我可以添加另一个服务,该服务将与“activemeters”连接属性,并包括activemeters的详细信息。这是您获得额外“级别”的地方吗?谢谢,请尝试掌握这一点。数据项应该包含其子项(在我的示例中,我将数据放入项[]
)或者,当父节点展开时,treeview可以发出另一个服务器请求以获取下一级。如果来自服务器的数据将子节点展平到同一对象中,则可以使用DataSource.schema.data
将其在客户端上转换为treeview的正确结构
var tree = $("#tvwResults").kendoTreeView({
dataTextField: ["Account Num", "activemeters"],
select: function (e) {
console.log("Selecting ", e.node)
},
animation: {
expand: {
effects: "fadeIn expandVertical",
duration: 600
}
}
}).data("kendoTreeView");
tree.dataSource.data([
{
"Account Num": "210663845",
"Address": "9 COUNTRY RD",
"City": "HAMDENEE",
"Name_1": "ANDREW SMITH",
"Name_2": "",
"Street": "GREEN ST",
"Street Num": "25",
"items": [
{"activemeters": "T30619-00T|30078309"}
]
}
]);