A few years ago, when I was a Java developer with a focus on JSF front end, one of my task is the paging of many pages of data, using Richfaces. Like many open source framework, Richfaces is a powerful tool, but it has its flaws (or limitations) if we don’t implement it carefully.
Here is one question I had at the time, and I answered by myself.
Of course, the real pain is when I tried to add and delete an entry (a row), and which causes the total number of pages to change, it just could not get the page number right
I have left the client since, but I have not got away with the data grid and data table. The very first iOS project I worked at my next employer involves mimic the Excel spreadsheet on iPad, the data grid is the center piece of all this because it will be used to input data, replacing the paper process. The other piece is to hook up with database (via web service) so that we eliminate the paper process completely.