SfGrid slow paging when using ExpandoObject with dynamic columns

I am using SfGrid (Blazor) with a DataSource of List of ExpandoObject loaded from an API.


The data is fetched once on initialization (no API call during paging), and all rows are already in memory. However, I am experiencing noticeable lag when paging through the grid.


Details:

- DataSource: List of ExpandoObject (parsed from JSON API)

- Paging: client-side (no additional API calls)

- PageSize: 50

- Columns: dynamically generated based on JSON keys

- Features enabled: Paging, Sorting, Filtering


What I have verified:

- Data is not reloaded during paging

- Grid DataSource reference is not changed

- @key is applied to SfGrid

- Data has been normalized (no null issues, consistent schema)


Observation:

- Paging is significantly slower compared to using a strongly-typed model or static data

- The issue seems related to ExpandoObject and dynamic column rendering


Question:

Is there any recommended way to optimize SfGrid performance when using ExpandoObject as the DataSource?

Are there known limitations or best practices for improving paging/rendering performance in this scenario?


Attachment: WebClient_d7fa5fbc.zip

1 Reply

PS Prathap Senthil Syncfusion Team April 20, 2026 02:11 PM UTC

Hi Dev Tester,


Based on the issue reported in your shared application, we attempted to run the project on our end. However, we are encountering a “Failed to fetch” error, which is preventing us from reproducing the reported issue at this time.


To help us proceed further, could you please share the following details?

  • Are you experiencing this issue only when loading data from the API using ExpandoObject with dynamic column generation?

  • Does the issue also occur when API data is not used?

  • Kindly confirm how many columns are being rendered in the Grid when the issue occurs.

  • Are there any specific steps required to run the project? If so, please share the details, or provide a video demonstration showing how to run the project and reproduce the issue.

Additionally, we noticed that the Orders page uses a similar configuration with ExpandoObject and dynamic column rendering. We tested this page as well, but we were unable to reproduce the reported issue. For your reference, we have attached a screen recording demonstrating our test results. We appreciate your cooperation and look forward to your response so that we can investigate this further.


Screen recording: Check the attachment .


Regards,
Prathap Senthil


Attachment: Recording_20260420_193826_25fa60ab.zip

Loader.
Up arrow icon