Reputation:
I need to build a table from SQL select result set. I want to add some paging functionality to the table because the result set can be very large. There was many discussions how to do the paging at the SQL level. But how to implement the paging at the GUI level? I have two ideas:
The second one looks nicer but complex to implement. When to do SQL select for a next chunk of data so that a user haven't wait for it. There should be some "read ahead" logic? What will happen if user scrolls quite quickly? What to do with rows that aren't visible any more to have constant memory usage? Maybe there is already such a table component or good examples? Or maybe this good looking table functionality is unworthy of efforts to implement it?
Upvotes: 3
Views: 2128
Reputation: 6563
The people who have built paging tables for AJAX libraries have obviously thought about this a lot, so you may be able to learn from them if you can't find something already built. Since you are using Java, note that you can find paging tables written in Java for GWT. See these SO threads:
Best pageable table implementation in GWT
The ideas (and much of the code) for your implemenation may be found in the open source projects mentioned.
Upvotes: 0
Reputation: 3154
You could do everything directly into your TableModel, there is no need to change something in the UI(well you migh show something in the UI - a status - but you don't need to change how JTable renders itself).
Just implement a JDBCTableModel which will have :
Paging doesn't makes sense for a Swing application, it was invented before the current fancy AJAX libraries could implement table scrolling(see http://www.ext-livegrid.com/).
Upvotes: 1