I have no problem with adjusting filter values (trim white space) when the Grid uses OnRead event:
private async Task OnBookingGridRead(GridReadEventArgs args)
{
// Are any filters selected, if so we need to work from the filtered List
if (args.Request.Filters.Count > 0)
{
await TrimFilters(args.Request.Filters);
and the cycle thru filter values and trim them:
// Removes white space (aka Trim) on any filter input
private Task TrimFilters(IList<IFilterDescriptor> filters)
{
// Cycle the filters and trim Values
foreach (var filterDescriptor in filters)
{
switch (filterDescriptor)
{
case FilterDescriptor singleFilterDescriptor:
// Only one filter
singleFilterDescriptor.Value = singleFilterDescriptor.Value.ToString()?.Trim();
break;
case CompositeFilterDescriptor compositeFilter:
{
foreach (var subFilter in compositeFilter.FilterDescriptors)
{
if (subFilter is FilterDescriptor singleSubFilter)
{
singleSubFilter.Value = singleSubFilter.Value.ToString()?.Trim();
}
}
break;
}
}
}
return Task.CompletedTask;
}All good works fine ... BUT ... if the Grid is not using OnRead (using Data=), how can I accomplish the same task of removing white space (trim) from user filter input values?
