rich:scrollableDataTable represents the tabular data and has the following features

- variable content of the table cells;
- dynamically fetching of rows from the server when a table is scrolled up and down;
- resizing of columns by the mouse dragging the column bar;
- sorting of columns by clicking the header;
- fixing of one or more left columns when a table is scrolled horizontally;
- customization of table look-n-feel from skin parameters

Check the next simple demo. Additionally to lazy loading of rows you could check frozenColumn feature using the horizontal scroll. Also in order to sort the table just click some header. And in order to get selected rows just click corresponding button below the table.

Scrollable DataTable example