如何从 Kendo 网格过滤器菜单中删除操作员下拉菜单?我在下面有一个下拉列表,其中包含供用户选择的值,因此在上面有一个框表示等于是毫无意义的。
问问题
9283 次
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 回答