New to Telerik UI for ASP.NET MVC? Start a free 30-day trial
Get All Grid Filters Recursively and Modify Them on the Server
Environment
Product | Telerik UI for ASP.NET MVC Grid |
Product version | 2025.1.227 |
Description
How can I access all requested filters recursively and modify them on the server?
Solution
You can achieve this requirement using the following implementation:
-
Configure the Grid for Ajax data binding.
Razor@(Html.Kendo().Grid<Telerik.Examples.Mvc.Areas.GridModifyFiltersOnTheServer.Models.Order>() .Name("grid") .Filterable() .DataSource(dataSource => dataSource .Ajax() .Read(read => read.Action("Read", "Home")) ... // Additional options. ) ... // Additional configuration. )
-
Retrieve the requested filters through the
DataSourceRequest
object and adjust filter criteria on the server side before processing the request.C#public ActionResult Read([DataSourceRequest] DataSourceRequest request) { ModifyFilters(request.Filters); return Json(OrderRepository.GetAll().ToDataSourceResult(request)); } private void ModifyFilters(IEnumerable<IFilterDescriptor> filters) { if (filters.Any()) { foreach (var filter in filters) { var descriptor = filter as FilterDescriptor; if (descriptor != null && descriptor.Member == "OrderDate") { descriptor.Member = "OrderDate.Date"; } else if (filter is CompositeFilterDescriptor) { ModifyFilters(((CompositeFilterDescriptor)filter).FilterDescriptors); } } } }
To see the complete example, refer to the project on how to access all Grid filters and modify them on the server based on your requirements.
More ASP.NET MVC Grid Resources
- ASP.NET MVC Grid Documentation
- ASP.NET MVC Grid Demos
- ASP.NET MVC Grid Product Page
- Telerik UI for ASP.NET MVC Video Onboarding Course (Free for trial users and license holders)
- Telerik UI for ASP.NET MVC Forums