2015-10-07 61 views
2

我有一个Kendo网格,它的默认过滤器,我想带来litte修改。如何在Kendo UI Grid中修改过滤器?

enter image description here

在下拉列表中,我们有不同的限制,(, '包含' 等 '开头为')。
而我想要的是:

  1. 要设置略低于下拉列表默认
  2. “选择”的“包含”在输入框中负荷把焦点。

谢谢!

回答

1

为了使一些运营商默认你应该只是在过滤器选项更改订单:

filterable: { 
         extra: false, 
         operators: { 
          string: { 
           contains: "Contains" 
           eq: "Is equal to", 
           neq: "Is not equal to" 
          } 
         } 
        } 

而对于专注于文本字段,你可以使用filterMenueInitEvent。 它看起来像这样为你的情况:

filterMenuInit: function(e) { 
    var popup = e.container.data("kendoPopup"); 
    popup.bind("activate", function (e) { 
     this.element.find("input").focus(); 
    }); 
} 

首先,你需要选择KendoWidget的过滤器 - kendoPopup。 之后,您将在弹出窗口完全加载后触发的事件绑定函数 - activate事件。在功能上,您可以根据需要更新控制状态。

+0

第一个问题解决了。但第二个,'e.container.find(“text”)'不起作用,我将它改为:'e.container.find(“input”)',它找到我的输入元素,但没有想把重点放在它。 –

+0

是的,我为您的具体情况编写了没有正确选择器的示例。但'e.container.find'可以返回元素数组。检查内部并选择你需要关注的内容。关于重点方法的一些文档http://www.w3schools.com/jsref/met_html_focus.asp –

+0

我想它会把重点放在它上面,以后它会丢失它。为了检查它是否影响到我输入的内容,我做了:'textField.val('Hello')',它可以工作。我在负载输入中看到Hello。但是,重点似乎并没有工作! –