如何更改kendo ui grid mvc中的默认过滤器运算符

Ger*_*leg 12 asp.net-mvc grid kendo-ui

我已设法使用以下方法更改Kendo Grid的默认过滤器顺序:

.Filterable(filterable => filterable
                        .Extra(true)
                        .Operators(ops => 
                            ops.ForString(str => str.Clear()
                                                    .Contains("Contains")
                                                    .StartsWith("Starts with")
                                                    .EndsWith("Ends with")
                                                    .IsEqualTo("Is equal to"))
                        ))
Run Code Online (Sandbox Code Playgroud)

有什么办法可以将默认运算符更改为OR吗?

在此输入图像描述

Ata*_*hev 5

这可以通过filterMenuInit事件完成:

 /* grid configuration snip */
.Events(e => e.FilterMenuInit("filterMenuInit"))
 /* grid configuration snip */

 <script>
 function filterMenuInit(e) {
      e.container
         .find("select.k-filter-and")
         .data("kendoDropDownList")
         .value("or");
 }
 </script>
Run Code Online (Sandbox Code Playgroud)

这是一个现场演示:http://jsbin.com/etItEpi/1/edit

  • 遗憾的是,此解决方案仅部分工作,并且会导致非常令人不安的用户体验:重新排序列后,操作员将重置为"And".要重现这一点:1)将样品中的网格/列配置为可排序,2)运行,3)单击过滤器并注意操作符为"或".4)通过单击其标题对列重新排序5)单击过滤器,并注意操作符重置为其默认值:'和'. (2认同)