这是我的树视图:
function CreateNotificationTree(UserId)
{
var data = new kendo.data.HierarchicalDataSource({
transport: {
read: {
url: "../api/notifications/byuserid/" + UserId,
contentType: "application/json"
}
},
schema: {
model: {
children: "notifications"
}
}
});
$("#treeview").kendoTreeView({
dataSource: data,
loadOnDemand: true,
dataUrlField: "LinksTo",
checkboxes: {
checkChildren: true
},
dataTextField: ["notificationType", "NotificationDesc"]
});
}
我添加了配置“dataUrlField”,但我不确定如何将dataTextField“NotificationDesc”配置为在API中找到的超链接。
API "../api/notifications/byuserid/"
带回树视图的数据以及我需要的链接。以下是API返回的内容:
<ArrayOfNode xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http....WebUI.Controllers" debug="true">
<script id="FirebugLite" firebugIgnore="true" extension="Chrome"/>
<Node>
<notificationType>Edit Items</notificationType>
<notifications>
<Notification>
<ActionPageName>abc/ViewMembers.aspx</ActionPageName>
<ID>10285433</ID>
<NotificationDesc>2013 project</NotificationDesc>
<NotificationLink>
//the link I need is here
</NotificationLink>
<Params>...</Params>
</Notification>
...
答案 0 :(得分:3)
我想出了怎么做:
$("#treeview").kendoTreeView({
dataSource: data,
loadOnDemand: true,
dataUrlField: "LinksTo",
checkboxes: {
checkChildren: true
},
dataTextField: ["notificationType", "NotificationDesc"],
select: treeviewSelect
});
function treeviewSelect(e)
{
var node = this.dataItem(e.node);
window.open(node.NotificationLink, "_self");
}