Grid, large dataset, sort, filter, pagination

How to work with uploading data (millions of records) to the grid so that the user does not wait for a long time and at the same time use the functions of sorting, filtering, paging?
Thank you for your ideas and answers

Not sure that can be done?

Is it possible to perform filtering, sorting and paging on the server side ?

Yes, all of that can be done server-side but how does that benefit you? You still have to populate the grid and it sounds like you have an extremely large number of records. Can you provide criteria to the user that allows pre-sorting so you could make a specific Ajax call for just those records? For example, I’ve offered a selection box or a series of radio buttons that allow users to narrow the criteria prior to loading a grid. Is any of that possible with your application?

Unfortunately, this is not possible. Users must have access to all records, without limiting the displayed data. I was thinking of using the dhtmlx GUI, catch events from GUI and the actual execution of the functions (filtering, stamping and striping) would be done on the server side. My question is it possible?

Because JavaScript is asynchronous, technically you could catch an event before all records are loaded but how precise will the event be if — to your previous point — your users “must have access to all records”. Wouldn’t they need all records prior to making a choice which triggers the event? Maybe I’m not quite seeing how your application is configured. Can you provide a simple example?

You may use the lazy loading in your grid in case of a huge dataset:

In this case all the filtering ort sorting should be performed manually from the backend using the events: