I have a Telerik Blazor Grid where I am doing a custom OnRead event to get the data.
I am trying to detect within that event handler when the grid filters have changed as I need to request extra data if someone changes the grid filters in anyway.
I have tried comparing the previous filters with the new request filters but it says they are always different even when just requesting a new page in the grid.
My code looks like this:
protected override async Task OnReadHandler(GridReadEventArgs e)
{
if (!ReHydrateGridFromPersistedState)
{
//no grid state exists so call the database for data
var filtersHaveChanged = GridRequest != null && !GridRequest.Filters.Equals(e.Request.Filters);
GridRequest = e.Request;
if (filtersHaveChanged)
{
ExtraData = await GetExtraDataAsync();
}
await base.OnReadHandler(e);
}
else
{
GridRequest = e.Request;
}
}
var filtersHaveChanged = GridRequest != null && !GridRequest.Filters.Equals(e.Request.Filters);
/* filtersHaveChanged is ALWAYS true */