Hi @saadaan
Depending on how big is your dataset, you don't need to paginate at controller level with DataTables.
You can simply read the dataset the first time the page loads following this example: https://datatables.net/examples/ajax/simple.html
And here you have the AJAX reference at the manual: https://datatables.net/manual/ajax
You should consider deferred rendering to have the best loading time: https://datatables.net/examples/ajax/defer_render.html
The other functions as search and export will still work really fast as always, as it will still be doing all the work at the front-end