Well Cosma first thanks for your explanation, if I understand well, all components have to extend UIData and we can set to every components a dataModel?

Cosma Colanicchia wrote:
Hi Alexandre,

it's simple, JSF defines a DataModel class that is used by UIData
componentes (like the data table). Note that it is allowed the usage
of some other types (for example java.util.List) because DataModel
implementations that wraps it are available automatically picked.

Basically, the datatable will initially ask your DataModel size using
getDatasetSize(), then ask rows as need one by one calling:

- isRowAvailable(index) to see if a particular index maps to an actual row
- setRowIndex(index) to make that index current
- getRowData() to get the object with the data of the current row index

So, if you need more control, you can implement your DataModel object
(extending the JSF base class) and specify it as the datatable's value
attribute.

This way you can, for example, implement the getDatasetSize() doing a
SELECT COUNT on the database and query the db only for a limited set
of rows in getRowData(), instead of loading an entire table in memory
when creating the view.


Hope this helps
Cosma

2006/7/4, Alexandre Jaquet <[EMAIL PROTECTED]>:
Hi,

I want to understand how work DataTable any good documentation ? I want
to understand the cars-demo example :
http://wiki.apache.org/myfaces/WorkingWithLargeTables

regards



Reply via email to