DataGrid Virtualization With LoadData - API with Page Numbers

I'm trying to implement the Virtualization with LoadData for the DataGrid and running into an issue I don't know how to solve. I'm trying to query an API that doesn't have a take variable. Instead it has pagesize and pagenumber. So with the API i'm using, a pagesize of 10, page 1 has items 1-10, page 2 has items 11-20. Looking at the implementation on Blazor DataGrid Component - Custom Virtualization | Free UI Components by Radzen it seems to require the take parameter and would expect values that I would think are midway through a page from my API. So initially it would require items 1-10, then 5-14, then 9-18, etc....something my API I'm querying can't do.

I hope I'm missing something obvious. I'd appreciate any guidance or suggestion someone could provide!

Virtualize component can request any number of items depending on height.

But as far as the args go that are passed from the Radzen DataGrid component, it seems to request a Skip/Take of 4 items at a time (based on the linked example on the radzen documentation site), if I manually request a specific value each time instead of the args.Skip will this not cause an issue?

LoadData will just raise what is requested by the Virtualize component, you can check the code for reference:

Okay. In the documentation is has overlapping records in each query.
So getting 10 different records at a time instead of 10 records that overlap partially with the last set shouldn't cause an issue?

This is what I'm thinking based on what you suggested:
pageNumber = (args.Skip / args.Top) + 1;
pagesize = args.Top ?? 10;

Does this seem like a valid approach?

I can’t comment since I’m not familiar with the service API you are using. For sure there is nothing wrong to provide what is requested from the UI no matter if overlapping or not.

Perfect. This is what I needed. Thank you!