Any easy way to get RadzenDataGridColumn to support more than two filters?

Hey there,

I'm trying to achieve two things: Have a custom set of filters available in my RadzenDataGrid (currently "Contains", "Does not contain", "Equals", "Not Equals", "Null", "Not Null", "Starts with" "Ends with" etc )

I'd only like to support two of options, and not all 10.

Second - I would like to support more then two filters...
Currently it seems to be implemented like this: https://github.com/radzenhq/radzen-blazor/blob/d7ef57a24e6fa6d0c2afd6fad3698c34e80dbf65/Radzen.Blazor/RadzenDataGridColumn.cs#L219

A FilterProperty and a SecondFilterValue property... ಠ_ಠ

I don't know who came up with that implementation and why they didn't just implement an array of filters, but I was hoping to fix that in my application and implement an array for filters.

I was wondering how to best go about and implement that... I was trying of just copying the RadzenDataGridColumn.cs file and implement it in a different named component, but it seems the GetSecondFilterOperator method is called by QueryableExtension, RadzenDataGrid and RadzenDataGridHeaderCell ... so to fix it like that I'd have to create my own RadzenDataGrid as well... which seems to become a bit of an overkill... not sure if I'm looking in the right direction or if there's a better way to do this

Check this demo for reference for more info about why there are two filter values.

Using a filter template you can define collection of values, there are multiple examples:

Yea, I've seen those examples, but that's not what I'm trying to achieve

FilterValue="@selectedCompanyNames" FilterOperator="FilterOperator.Contains"

This still uses only one filter with multiple values. What I'd like is more something like this:

public class Filter
{
    public FilterOperator Operator { get; set; }
    public string FieldName { get; set; }
    public string Value { get; set; }
}

public class Example
{
    public LogicalFilterOperator LogicalFilterOperator { get; } = LogicalFilterOperator.Or;

    public List<Filter> Filters { get; } = new()
    {
        new Filter() { Operator = FilterOperator.Contains, FieldName = "FirstName", Value = "Bob" },
        new Filter() { Operator = FilterOperator.StartsWith, FieldName = "FirstName", Value = "X" },
        new Filter() { Operator = FilterOperator.EndsWith, FieldName = "FirstName", Value = "Y" },
        new Filter() { Operator = FilterOperator.IsNull, FieldName = "FirstName", Value = null },

    };
}

I’m afraid that there is no such API at the moment per column.