0

我有一個kendo樹視圖,我使用分層數據源來填充。如果從數據庫表中軟刪除該節點,我想用紅色顯示少量節點。 (軟刪除的記錄用數據庫字段「DEL_FLG」標識,如果該字段設置爲Y,則記錄被認爲是刪除的,下面是我填充樹的方式,請告訴我如何軟刪除紅色記錄?使用模板自定義Kendo樹視圖時的問題

 var treeData = new kendo.data.HierarchicalDataSource({ 

     transport: { 
      read: { 
       url: NsMenuMaster.urls.getMenuTreeUrl, 
       data: data, 
       datatype: "json", 
       type: "POST" 
      } 
     }, 
     schema: { 
      model: { 
       id: "MenuConfigUid",     
       children: "Child" 

      } 
     } 
    }); 

    $("#MenuTreelist").kendoTreeView({ 
     dataSource: treeData, 
     dataTextField: ["MenuText"], 
     dataValueField: ["MenuConfigUid"], 
     height: 1000, 
     template: "#: item.DelFlg # == 'Y'" ? "<div style='color: red'>#: item.MenuText #</div>" : "<div style='color: black'>#: item.MenuText #</div>", 
     checkboxes: { 
      template: "<input type='checkbox' name='StudentClassID' value='#= item.id #' />", 
      checkChildren: true 
     }, 
     select: NsMenuMaster.onSelect 
    }); 
+0

你的問題的標題說,* *的問題,但沒有任何模板可言。看起來你甚至沒有開始。你嘗試過什麼嗎? – DontVoteMeDown

+0

Hi @DontVoteMeDown我已經更新了代碼。你現在可以檢查嗎?爲什麼它不能正常工作... –

回答

0

添加模板配置到TreeView選項,即:

$("#MenuTreelist").kendoTreeView({ 
    template: kendo.template($("#treeview-template").html()), 
    .... 

和某種模板

<script id="treeview-template" type="text/kendo-ui-template"> 
    # if (item.DEL_FLG) { # 
     <div style='color: red'>#: item.text #</div> 
    # } 
    else { # 
     <div>#: item.text #</div> 
    # } # 
</script> 

簡單的例子:http://dojo.telerik.com/@Stephen/UtobA

問題更新

後其他細節

您的模板更改爲

template: "# if (item.DelFlg == 'Y') { # <div style='color: red'>#: item.MenuText #</div> # } else { # <div style='color: black'>#: item.MenuText #</div> # } #" 

爲:語法是非常困難的(如果不是不可能的話)與混合值劍道模板正確編碼使用任意javascript呈現,因此使用實際的if-else語句更簡單。

更新例如一個紅色的節點:http://dojo.telerik.com/@Stephen/esened

+0

我已經更新了合併模板的代碼。它仍然無法正常工作 –

+0

非常感謝。它工作:) –