[英]MVC Kendo Grid Custom Filter
Basically, I am looking for the MVC version of this demo: 基本上,我正在寻找这个演示的MVC版本:
http://demos.telerik.com/kendo-ui/grid/filter-menu-customization http://demos.telerik.com/kendo-ui/grid/filter-menu-customization
Here is what I currently have: 这是我目前拥有的:
.Columns(columns =>
{
columns.Bound(e => e.ID)
.Hidden();
columns.Bound(e => e.SearchFunctionCode)
.Hidden();
columns.Bound(e => e.SearchFunctionDesc)
.Title("Search Function")
.Filterable( *** WHAT GOES HERE? *** )
.HtmlAttributes(new { style = "text-align: center" })
.HeaderHtmlAttributes(new { style = "text-align: center" });
Do I still reference the javascript, or is there another approach? 我仍然引用javascript,还是有另一种方法?
<script type="text/javascript">
function SearchFunctionFilter(element) {
element.kendoDropDownList({
dataSource: searchfunctions(),
optionLabel: "--Select Value--"
});
}
</script>
Yes we need to define specified filter functions in javascript like below. 是的,我们需要在javascript中定义指定的过滤器函数,如下所示。
.Columns(columns => {
columns.Template(@<text>@item.FirstName @item.LastName</text>)
.ClientTemplate("#=FirstName# #=LastName#")
.Title("Name");
columns.Bound(e => e.City)
.Filterable(filterable => filterable.UI("cityFilter"))
.Width(200);
columns.Bound(e => e.Title)
.Filterable(filterable => filterable.UI("titleFilter"))
.Width(350);
})
.Filterable(filterable => filterable
.Extra(false)
.Operators(operators => operators
.ForString(str => str.Clear()
.StartsWith("Starts with")
.IsEqualTo("Is equal to")
.IsNotEqualTo("Is not equal to")
))
)
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("FilterMenuCustomization_Read", "Grid"))
)
)
<script type="text/javascript">
function cityFilter(element) {
element.kendoDropDownList({
dataSource: {
transport: {
read: "@Url.Action("FilterMenuCustomization_Cities")"
}
},
optionLabel: "--Select Value--"
});
}
function titleFilter(element) {
element.kendoAutoComplete({
dataSource: {
transport: {
read: "@Url.Action("FilterMenuCustomization_Titles")"
}
}
});
}
</script>
see this 看到这个
http://demos.telerik.com/aspnet-mvc/grid/filter-menu-customization http://demos.telerik.com/aspnet-mvc/grid/filter-menu-customization
Malkan's answer should work. 马尔坎的答案应该有效。 All you need to do is have a separate filter on each column.
您需要做的就是在每列上都有一个单独的过滤器。 just replace the column "filterable" with whatever you like like this:
只需将“filterable”列替换为您喜欢的任何内容,如下所示:
.Filterable(filterable => filterable
.Extra(false)
.Operators(operators => operators
.ForString(str => str.Clear()
.StartsWith("Starts with")
.IsEqualTo("Is equal to")
.IsNotEqualTo("Is not equal to")
))
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.