2016-03-29 95 views
0

我嘗試從Kendo網格過濾器的下拉列表中刪除一個項目。但它仍然呈現。我怎樣才能達到這樣的行爲?從Kendo網格過濾器中刪除選項

$("#grid").kendoGrid({ 
    columns: [ 
    { field: "someDate", type: "date" } 
    ], 
    dataSource: [ 
    { someDate: "2016-3-29"}, 
    { someDate: "2016-3-30"} 
    ], 
    filterable: { 
    extra: true, 
    operators: { 
     date: { 
     gte: "Is after or equal to", 
     lte: "Is before or equal to" 
     } 
    } 
    }, 
    filterMenuInit: function(e) { 
    e.container.find("select:eq(0)>option")[1].remove(); 
    e.container.find("select:eq(1)>option")[1].remove(); 
    e.container.find("select:eq(2)>option")[0].remove(); 
    } 
}); 

Link on dojo。 請幫忙。

編輯: 我需要兩個複雜的日期過濾器。在第一個過濾器中,我只需要「等於或等於」,然後是「AND」,而在第二個過濾器中,我只需要「等於或等於」。我嘗試通過從第一個下拉列表中刪除「Is before或equal to」,並從第二個下拉列表中刪除「Is after or equal to」。

回答

1

,而無需刪除你只能你想要什麼

filterable: { 
       extra: false, 
       operators: { 
       string: { 
        startswith: "Starts with", 
        eq: "Is equal to", 
        neq: "Is not equal to" 
          } 
         } 
       }, 
+0

它不會幫助我。我需要兩個複雜的日期過濾器。在第一個過濾器中,我只需要「等於或等於」,然後是「AND」,而在第二個過濾器中,我只需要「等於或等於」。我不能這樣做。 – Neshta

+0

爲了更加清晰,我添加了一些細節。 – Neshta

1

你需要得到kendoDropDownList對象,然後從數據源中添加項目;我已更新您的dojo

<script> 
    $("#grid").kendoGrid({ 
     columns: [ 
      { field: "name" } 
     ], 
     dataSource: [ 
      { name: "Jane Doe"}, 
      { name: "John Doe"} 
     ], 
     filterable: true, 
     filterMenuInit: function(e) { 
     if (e.field == "name") { 
      var filter1 = e.container.find("select:eq(0)").data("kendoDropDownList"); 
      var filter2 = e.container.find("select:eq(2)").data("kendoDropDownList"); 
      filter1.dataSource.remove(filter1.dataSource.at(0)); 
      filter1.select(0); 
      filter2.dataSource.remove(filter2.dataSource.at(0)); 
      filter2.select(0); 
      } 
     } 
    }); 
</script> 
+0

將dojo代碼更新爲您編輯的示例: http://dojo.telerik.com/EPegi/7 – Failwyn

+0

它在第一次加載網格時起作用。但如果按下清除按鈕,則第一個下拉列表將被重置爲空值。我想它設置了被刪除的默認值。 – Neshta

+0

這在技術上是一個破解,因爲它是設置一個成員的價值是私有的......但它的工作原理是... ... filter1._initial ='lte'; http://dojo.telerik.com/EPegi/11 – Failwyn

相關問題