Hi Lillie,
Thanks for contacting Syncfusion support.
Query: “I'm not quite sure as to the intention of virtual scrolling + custom adaptor”
CustomAdaptor feature of DataManager helps us to fetch data from server / database to bind it to component and perform data operations (filtering, sorting, paging etc.) in a custom way as per our own requirement. Since we have provided custom way of binding, we have provided built in support to perform data operations (filtering, sorting, searching, paging), but it requires entire datasource is returned from the database/server. Hence we have preloaded entire data in our demo samples and handled these actions.
When CustomAdaptor is used bind data to Grid component, we will sent the current grid settings (like applied page settings, filter setting, sort settings etc.) to CustomAdaptor’s Read/ReadyAsync method to fetch the data and bind it to. We can find the Grid settings from DataManagerRequest parameter of Read/ReadAsync method. When Paging is enabled, we will send the paging parameters skip and take based on current page detail and page size. So that skip and take is performed based on these value and current page records are returned.
Similarly when VirtualScrolling is enabled in Grid, we will calculate the amount of record that can accommodate in specified scroll width (Grid’s width) and generate the skip and take to fetch data from server/database.
If you do not want to return entire datasource from your database, we suggest you to achieve your requirement by sending the skip and take value from DataManagerRequest argument to your data base and bind current page records. Refer the below UG documentation for your reference.
Note: While using above approach, built-in data operations method cannot be used since it return current page records alone from database. Also you can disable paging and enable Virtualization with specified height to achieve your requirement.
Please get back to us if you have further queries.
Regards,
Vignesh Natarajan