Here is the database application shown with its data table
wrapped in a scrollable div:
A scrollable div can be inefficient if the table is large.
An alternative is to use a pager widget that loads data into the
model only when necessary, as in this example displaying a table of ISO
country codes:
The pager application can be run
here.
Chapter 13 presents a method for attaching a pager widget to any table
created with h:dataTable.