With remote virtual scrolling, pages are loaded from the server when they enter the viewport. To enable this feature, set the scrolling.mode property to "virtual" and the remoteOperations property to true. The latter informs the UI component that the server handles paging.
In this demo, the server contains 1,000,000 records and returns 100 records per page. The page size is set using the paging.pageSize property. The larger it is, the fewer requests are sent to the server. To reduce the time required for rendering the loaded rows, set the scrolling.rowRenderingMode to "virtual" — the DataGrid renders only rows that are in the viewport.