The rich:extendedDataTable component provides the following features:

- Horizontal and vertical scrolling
- Ajax lazy loading for vertical scrolling
- "Frozen" columns which are not scrolled with a horizontal scroll
- Controls for column visibility (showColumnControl="true")

The component does not require the use of a special model; it supports all the standard models supported by the rich:dataTable component.

In order to turn on Ajax loading - you should just specify clientRows attribute with number of rows to be loaded on the client. In the sample below it's set to 15 or to 0 according to checkbox value. 0 value means load all the rows (or attribute could be just not defined at all).