布道上的Kendo UI过滤器

时间:2014-06-26 16:35:36

标签: kendo-ui

是否可以使用包含“是”,“否”,“其他”等选项的过滤器菜单

我有一个列的网格,只能有3个值是,否或其他。过滤器应显示带有这些值的单选按钮和两个按钮Filter和Clear。这可能吗?

当我尝试使用字段类型:" boolean",我得到'是'和'否,但如何添加第三个单选按钮'其他'

任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

剑道有一个如何做到这一点的例子:
http://demos.telerik.com/kendo-ui/grid/filter-menu-customization

以下是如何设置过滤器的示例

filterable: {
  //hide second filter option
  extra: false,
  operators: {
    string: {
      eq: "Is equal to"
    }
  }
},
filterMenuInit: function(e) {
  //when the filter menu opens find the first dropdown and hide it
  //as it has the Is equal to filter in it.
  e.container.find(".k-dropdown").eq(0).hide();
}

这是JSbin,它展示了如何使用其中的一些功能: http://jsbin.com/qehugexo/2/edit

<小时/> 的更新
虽然我可以在过滤器窗口中显示单选按钮,但是使用默认的Kendo内容非常令人头疼。我建议在演示中使用Kendo Dropdown,或者只是操作Grid本身数据源上的过滤器。

可以使用以下代码完成:

$(".k-grid").data("kendoGrid").dataSource.filter({filters: [{field: "City", operator: "eq", value: "Boston"}], Logic: "and"})

以下是如何使用它的示例。

 filterMenuInit: function(e) {
   //when filter menu opens toss it cause its lame!
   e.container.html("
     <input name='radio' type='radio' checked='checked' value='Clear'>Clear</input>  
     <input name='radio' type='radio' value='London'>London</input>
     <input name='radio' type='radio' value='Seattle'>Seattle</input>
   "); 



  $("input[type=radio]").click(function(){
    if($(this).val() != "Clear") {
      $(".k-grid").data("kendoGrid").dataSource.filter({filters: [{field: "City", operator: "eq", value: $(this).val()}], Logic: "and"})
    }else {
      $(".k-grid").data("kendoGrid").dataSource.filter({})
    }
   });
  }

更新的JSbin:http://jsbin.com/qehugexo/3/edit