Standard grid filtering options done as shown in this demo page: http://demos.telerik.com/aspnet-mvc/grid/filter-menu-customization
But it doesn't work. Here is my grid:
@(Html.Kendo().Grid<
UserModel
>()
.Name("Items")
.DataSource(dataSource => dataSource
.Ajax()
.Destroy(delete => delete.Action("DeleteGridItem", @ViewContext.RouteData.Values["controller"].ToString()))
.PageSize(25)
.Update(update => update.Action("Save", @ViewContext.RouteData.Values["controller"].ToString()))
//.ServerOperation(true)
.Sort(sort => sort.Add("Name"))
.Read(read => read.Action("LoadGrid", @ViewContext.RouteData.Values["controller"].ToString())))
.ToolBar(tools =>
{
tools.Custom().Text("Clear Filter").HtmlAttributes(new { id = "gridAllFilterReset" });
tools.Excel().Text("Excel");
})
.Excel(excel => excel
.AllPages(true).FileName($"{ViewContext.RouteData.Values["controller"].ToString()}.xlsx").Filterable(true)
)
//.EnableCustomBinding(true)
.Columns(columns =>
{
columns.Bound(x => x.Name);
columns.Bound(x => x.Email);
columns.Bound(x => x.Departments);
columns.Bound(x => x.Titles);
columns.Command(command =>
{
command.Custom("Edit").Text("<
span
class
=
'k-icon k-edit'
></
span
>").Click("editRecord");
command.Destroy().Text(" ");
}).Width(250);
})
.Filterable(f => f.Operators(o => o.ForString(x => x
.Clear()
.Contains("Contains")
.IsEqualTo("Is Equal To")
.StartsWith("Starts With")
.EndsWith("Ends With")
.DoesNotContain("Does Not Contain")
.IsNotEqualTo("Is Not Equal To")
.IsEmpty("Is Empty")
.IsNotEmpty("Is Not Empty"))))
.Sortable(x => x.AllowUnsort(false))
.Pageable()
.Deferred()
)
But when I load the grid, the default filter options for string still apply