2012-11-21 35 views
1

我爲Kendo UI樹視圖使用Kendo Hierarchical Datasource。 在點擊事件中,我只想在數據源中只保留檢查過的ROM。Kendo Hierarchical Datasource for treeview,過濾到已檢查的節點

我試圖

$('#treeview') 
     .getKendoTreeView() 
     .dataSource 
     .filter({ 
        field: "checked", 
        operator: "eq", 
        value: true }); 

,但無濟於事。

我有正確的字段嗎?

此外,對於獎勵積分,我該如何刪除過濾器?

+0

什麼是'getKendoTreeView()'?我無法在文檔中找到它。它應該不是'$('#treeview')。data(「kendoTreeView」)。dataSource.filter(....)' – OnaBai

+0

當我運行它們時,我得到了同樣的結果 – Matt

回答

3

checked是正確的領域,如果你已經將它定義爲這樣的模板:

$("#treeview").kendoTreeView({ 
    checkboxes: { template: "<input type='checkbox' name='checkedNodes' #= item.isChecked ? 'checked' : '' # value='#= item.id #' />" }, 
    dataSource: [{ 
     id: 1, text: "My Documents", expanded: true, spriteCssClass: "rootfolder", items: [ 
      { id: 2, text: "about.html", expanded: true, isChecked: false, spriteCssClass: "folder" }, 
      { id: 3, text: "index.html", expanded: true, isChecked: true, spriteCssClass: "folder" } 
     ] 
    }] 
}); 

在我的情況下,它被命名爲isChecked(見我的代碼item.isChecked)。

但是,爲了正確過濾,請注意:filter僅作用於當前級別(例如,請參閱此question)。

併爲您的獎金問題,刪除的過濾器,簡單地套用下面的代碼:(!像以前一樣對你的層次結構所有級別)

$('#treeview') 
    .data("kendoTreeView") 
    .dataSource 
    .filter({ }); 


編輯

這裏是爲了與過濾器玩一些小提琴:http://jsfiddle.net/scaillerie/RHh67/

相關問題