We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

How to detect when a new set of data is loaded using virtualization?

When using the SfDataGrid with EnableVirtualization="true" there seems to be no event triggered every time a new page of data is being loaded.

See the screen capture below: when clicking the "Set SfManager" button the OnActionBegin event is triggered with RequestType == "Refresh" (hence the spinner). When scrolling down, the masked rows are visible as soon as all loaded data is displayed and a new page of data needs to be retrieved.

How can we detect when this is happening?

221214-133301089-1.gif


6 Replies

PS Prathap Senthil Syncfusion Team December 15, 2022 09:52 AM UTC

Hi Niels,


Greetings from Syncfusion support,


Query: ” When scrolling down, the masked rows are visible as soon as all loaded data is displayed, and a new page of data needs to be retrieved. How can we detect when this is happening?



Based on your query, we suggest you achieve your requirement using RowDataBound or DataBound event of Grid. RowDataBound event triggers every time a request is made to access row information, element, or data and before the row element is appended to the DataGrid element. The databound event triggers when the data source is populated in the DataGrid. Kindly refer to the UG documentation for your reference.



Documentation: https://blazor.syncfusion.com/documentation/datagrid/events#rowdatabound

                           https://blazor.syncfusion.com/documentation/datagrid/events#databound


Regards,

Prathap S



NR Niels Rymenams December 15, 2022 09:58 AM UTC

Hi,

It seems like you didn't understand the question.

Both the RowDataBound or DataBound events are triggered AFTER the request to the fetch new data is completed. We would like to detect when the fetch is triggered. Your suggestion is not useable if

Kind regards,
Niels



PG Peter Groft December 16, 2022 08:01 AM UTC

For Windows:

Click Start > Run.
Type msinfo32 and press Enter.
In the right pane, look for System Manufacturer for 'VMware, Inc. ' If this is present, you are running within a virtualized platform, and cannot install another virtualization product on top of it.


This May Help,
Peter



PS Prathap Senthil Syncfusion Team December 16, 2022 12:53 PM UTC

Hi Niles,

Thanks for update

The RowDataBound events trigger every time when cell or row is created in Grid. Please see the attached video demonstration and sample solution for your reference.

If the reported issue persists, kindly share the following information with us so that we can validate the reported query and provide a solution as soon as possible.

  1. Share with us the NuGet version used.
  2. kindly share with us the simple issue reproducible sample
  3. if possible, and try to modify the reported issue on the attached sample.

Attachment: Sample_9c8c51e4.zip


NR Niels Rymenams December 22, 2022 10:19 AM UTC

Hi Prathap,

Yes, I know when the RowDataBound event is triggered. As I stated in my answer of 15/12 this event triggers too late for the use case I want to cover.

We need an event that is triggered at the moment the datagrid sends a new OData request.

Please see the following scenario to explain once more what I'm asking in my initial post.

- Grid has initial data
- User scrolls down
- User reaches the end of the current data set
- Grid sends a new request to the backend for data <--- NEED AN EVENT AT THIS POINT
- User is waiting for this new data set (hence the masked rows)
- Grid receives new data (DataBound event)
- Rows are rendered (RowDataBound event)

How can we achieve this? I thought about using a CustomDataApator, but I can't easily extend the existing ODataV4DataAdaptor.

Kind regards,
Niels



PS Prathap Senthil Syncfusion Team December 27, 2022 12:52 PM UTC

Thank you for the update.

We understand your requirement, but we regret to inform you that currently, we do not have support for events when the grid sends a new request to the backend for data.


Please get back to us if you have any further queries.


Loader.
Live Chat Icon For mobile
Up arrow icon