The simplest way would be to create a data structure representing the SQL Record coming back and then represent it as a vector or a dynamic array(you'd need to write this one) then just put the data you want to display into a Custom Model and present any way you like.Updating the query for the next/previous pages by setting the limit and the offset indeed works.
However, I am trying to achieve some performance enhancement by not querying the database for every page. Instead, If I have 100 records on hand in the Model, I would like to display 10 at a time in the view. Not sure if this is achievable.