5

如何从 Kendo 网格过滤器菜单中删除操作员下拉菜单?我在下面有一个下拉列表,其中包含供用户选择的值,因此在上面有一个框表示等于是毫无意义的。

4

3 回答 3

4

这个问题已经在剑道论坛中得到解答: 剑道论坛 - 在网格列过滤器中使用下拉列表

在其他地方之前总是在那里搜索是很好的。基本上你得到了标题过滤器并隐藏了下拉菜单。我冒昧地修改了论坛中的小提琴,因为 find header jquery 选择器有点“cucoo”。您可以使用普通的剑道配置,而不是手动创建组合

filterable: {
    ui: function(){ ... }
}

主要是隐藏和修改帮助。

// Find the Role filter menu.
var filterMenu = _grid.thead.find("th[data-field='roleTitle']").data("kendoFilterMenu");

filterMenu.form.find("div.k-filter-help-text").text("Select an item from the list:");
filterMenu.form.find("span.k-dropdown:first").css("display", "none");

在这里找到它: JSFiddle - 剑道网格中的下拉过滤器

于 2013-10-14T16:42:50.560 回答
3

我通过在构建 UI 时声明一个要调用的函数来完成我的工作。这应该比四处寻找课程要容易得多。

{
   field: "Status",
   title: "Status",
   filterable: {
      extra: false,
      ui: statusFilter
   }
}


function statusFilter(element) {

    // finds the closest form so we can start manipulating things.
    var form = element.closest("form");  

    // changes the help text. (you might want to localise this)
    form.find(".k-filter-help-text:first").text("Select an item from the list:");

    // removes the dropdown list containing the operators (contains etc)
    form.find("select").remove();

    // Adds a new dropdownlist with all the options you want to select from
    element.kendoDropDownList({ ...... });

}
于 2014-11-17T15:38:18.973 回答
0

将事件添加到网格

.Events(e => e.FilterMenuInit("FilterMenuFunc"))

然后是一个java脚本函数

 function FilterMenuFunc(e) {
        var grid = $("#GridName").data("kendoGrid");
        var filterMenu = $(grid.thead.find("th:not(.k-hierarchy-cell,.k-group-cell)")[5]).data("kendoFilterMenu");//5 is index of column
        try {
            filterMenu.form.find("div.k-filter-help-text").text("Please Select A Value From List.");
            filterMenu.form.find("span.k-dropdown:first").css("display", "none");
        } catch (e) {}

    }
于 2013-11-27T09:45:22.173 回答