Filter Dialogs are slow to respond

I am working with a dataset of about 300,000 items and my DataGrid is slow to respond when clicking around in the filters. If I'm opening a calendar (datetime), dropdown, or especially typing into a textbox for the filter it seems to react slowly after every click or key press.

Let's talk first about the strings and the textbox filter that appears in the header. I added a FilterDelay value to the grid. My thought was that this would let me type in a whole word to be used as a filter before it would go back to my web service & database. However, it still seems like it does a lot of processing after any key press. Is there anything I am missing or some other approach I should take?

<RadzenDataGrid @ref="dataGridControl" Data="@DataItems" Count="@ItemCount" LoadData="@OnLoadData" AllowFiltering="true" AllowPaging="true" PageSize="@PageSize"
FilterDelay="15000" AllowSorting="true" EmptyText="0 Rows Found" FilterMode="FilterMode.Simple" FilterCaseSensitivity="Radzen.FilterCaseSensitivity.CaseInsensitive" TItem="DashboardItem">

Since you are using LoadData/Count it doesn't matter how many items you have in your dataset since you will always work with PageSize items. Try to debug your app to see where is the slowest part.

I get it. That is why I'm confused though. Because of the FilterDelay it does not even get to the OnLoadData method for a while. Yet, each interaction with the filter User Interface is slow. Every click or key press takes a second or two to respond.

Such issue might be caused in Blazor server in case of network latency yet your post is for Blazor WebAssembly.

Do you have any recommendations on where I can look? I'm not making this behavior up.

I'm afraid that I don't have any clue. If you have Radzen subscription you can send us runnable application where we can reproduce the problem at info@radzen.com.

What would help would be if you could at least make the OnFilter and OnFilterKeyPress methods of RadzenDataGrid virtual so I can override them.

Feel free to submit pull request with the change you believe will help you. If it doesn't brake anything we will merge it.