ListView EnableVirtualization ODataV4Adaptor not working

Hello

we found that the EnableVirtualization option in the listview component with 

ODataV4Adaptor is not working.


You can clone this sample from github

 https://github.com/bc3/bUnit-SfAutoCompleteTest

Check this commit: https://github.com/bc3/bUnit-SfAutoCompleteTest/commit/fac663a41006bbf63c36b8232ff7bcb054464b49 to see what i have done to setup the sample.

When you run the sample you can choose the Listview menu. There you will hava grid and a listview, both with enable virtualization, grid is OK, listview not, he is loading all items.


Could you please tell us what to do to fix this ?


Regards Ben


6 Replies

SS Sivakumar ShunmugaSundaram Syncfusion Team September 28, 2022 04:24 PM UTC

Hi Ben,


Greetings from Syncfusion support.


From the shared details, we understand that you are facing an issue with the Blazor ListView EnableVirtualization support with ODataV4Adaptor. We have checked the reported issue in the ListView component with a shared GitHub sample at our end, but the Virtualization works properly.


We would like to let you know that while enabling Virtualization in the ListView component, it will load only viewable list items in a viewport and add the items based on scrolling to improve performance. The exact same behavior happens in ListView and we have recorded the behavior in a video. We have attached the modified sample and video footage to the below link for your reference.


Sample: https://www.syncfusion.com/downloads/support/directtrac/general/ze/sample302060659.zip


Please check the attached sample and get back to us if you need any further assistance.


Regards,

Sivakumar S



BC Ben Croughs September 29, 2022 07:09 AM UTC

Hello Sivakumar S,


thx for your reply, but I think you didn't understand what was incorrect, so i updated my sample with some logging (using signalr) see Github

The virtualization works on the DOM elements like you show in your video, but for listview data is fetched entirely, and he is not using skip or take calls on the odata adapter, see output below components. 

Hope I make myself clear now.

Regards Ben



Attachment: odata.mov_67197e7d.zip


SS Sivakumar ShunmugaSundaram Syncfusion Team September 30, 2022 04:10 PM UTC

Hi Ben,


According to the shared video, we understand that you are facing an issue with implementing the Blazor ListView component with virtual scrolling. But as per our previous update, while enabling Virtualization in the ListView component, it will load only viewable list items in a viewport and add the items based on scrolling to improve performance.


But we are quite unclear about your exact requirements for the ListView component. We would like to confirm whether you want to implement the Blazor ListView component like Blazor Grid, with the virtual scroll mask. We have attached the Blazor Grid component with a virtual scroll mask demo for your reference.


Demo: https://blazor.syncfusion.com/demos/datagrid/virtual-mask-row?theme=fluent


Please check the shared demo and confirm the above details. Based on the confirmation we will validate the requirement with the ListView component.


Regards,

Sivakumar S



BC Ben Croughs October 3, 2022 08:38 AM UTC

Dear Sivakumar S,


I'll try to outline my problem:


When you enable Virtualization on the Datagrid, the call's to the backend are:


  • /odata/WeatherForecasts - ?$count=true&$skip=0&$top=16
  • /odata/WeatherForecasts - ?$count=true&$skip=32&$top=16 (when you scroll down)
  • /odata/WeatherForecasts - ?$count=true&$skip=93&$top=16 (when you scroll down)
  • /odata/WeatherForecasts - ?$count=true&$skip=431&$top=16 (when you scroll down)
  • .... and so on and on




When you enable Virtualization on the ListView
  • /odata/WeatherForecasts - (that is the only call)

I hope it is now more clear ? So for grid this is as expected, for listview not, because that one call contains millions of records, and 

Regards Ben







SS Sivakumar ShunmugaSundaram Syncfusion Team October 4, 2022 03:38 PM UTC

Hi Ben,


Thanks for the shared details. As per the shared details, we understand that you need to get the data from your Web API based on page scroll as like mentioned in the Grid component. Currently, we are checking the feasibility of your requirement in the Blazor ListView component. But we need some additional time to check the feasibility and will update you with further details on October 07, 2022.


We appreciate your patience.


Regards,

Sivakumar S



SS Sivakumar ShunmugaSundaram Syncfusion Team October 7, 2022 04:18 PM UTC

Hi Ben,


Thanks for your patience.


As per the shared details, we understand that you want to get the data from your Web API based on page scroll as mentioned in the Grid component. But currently, we don’t have support to get the data from the Web API based on the scroll. So, we have considered this requirement as a feature at our end.


Support for this feature will be included in any of our upcoming releases. Usually, Syncfusion will plan and implement the features based on feature rank, customer requested count, and volume wish list. The status of implementation can be tracked through the below portal link.


Feedback: https://www.syncfusion.com/feedback/38290/need-to-provide-support-for-data-virtualization-in-the-blazor-listview-component


Please get back to us if you need any further assistance.


Regards,

Sivakumar S


Loader.
Up arrow icon