The DataGrid pagination only works with small lists. When I work with larger lists I use a repeating panel.
But if the DataGrid is almost good for you and you just want to make the user feel it a little snappier, you can use two server calls, the first one that loads only enough rows for the first page, followed by a self.timer1.interval = 0.01
.
Then, after the UI has finished rendering the first page, the tick
event of the timer will load the remaining rows with another call.
It is not going to be faster, but the user has a quicker feedback on the UI and feels happier.