2013-08-01 4 views
0

여기 내 트리 뷰의 :원격 데이터로 내 Kendo UI TreeView에 하이퍼 링크를 어떻게 구성합니까?

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"를 추가하지만 난뿐만 아니라 API에서 발견되는 하이퍼 링크가되도록 dataTextField "NotificationDesc"를 구성하는 방법에 대한 확실 해요.

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> 
... 

답변

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"); 
    }