RadzenDataGrid
Please add a new filter that allows you to enter words in any order.
Example.
I have product with names:
Product1, Name="word1 word 2 word3"
Product2, Name="word3 word 2 word1"
And when I enter FILTER="word3 word1",
I must see both products: Product1 and Product2
Thanks.
enchev
September 8, 2026, 5:26am
2
This is already possible with the existing custom filter API - no new filter operator is needed. Set the column FilterOperator to FilterOperator.Custom, put a textbox in FilterTemplate and turn the typed words into an AND of Contains calls using SetCustomFilterExpressionAsync():
@code {
string search;
async Task OnSearch(string value, RadzenDataGridColumn<Product> column)
{
search = value;
var words = (value ?? "").Split(' ', StringSplitOptions.RemoveEmptyEntries);
var expression = words.Length > 0
? string.Join(" && ", words.Select(w => $"it.Name.ToLower().Contains(\"{w.ToLower()}\")"))
: null;
await column.SetCustomFilterExpressionAsync(expression);
}
}
With this, typing "word3 word1" matches both "word1 word2 word3" and "word3 word2 word1" (case-insensitive). See also the "Custom filtering template with Custom Command" example on Custom Filter Editors with FilterTemplate in a Blazor DataGrid | Free UI Components by Radzen