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