techie2k
techie2k

Reputation: 559

Richfaces 3.3.3.final Datatable Selection

Can someone hint me on how to utilize selection functionality of extendeddatatable in rich:datatable ?

My requirement is each row contains more than 15 columns and all are editable and should be able to scale upto 3000 records in a page.

I'm using JSF 1.2 and richfaces 3.3.3.final with spring webflow.

Upvotes: 1

Views: 1959

Answers (1)

Jean-Charles
Jean-Charles

Reputation: 1720

To use the selection attribute on extendeddatatable:

Declare in your view

<rich:extendedDataTable id="xxxDataTable" value="#{xxxBean.listXxxDataModel}"   
var="xxxItem" selectionMode="single" rows="3" width="800px" height="100px" noDataLabel="#{msg.dataTable_noDataLabel}"
selection="#{xxxBean.xxxSelection}">

Bind your dataTable value to ExtendedTableDataModel : use a org.richfaces.model.DataProvider to provide data to the ExtendedTableDataModel.

ArrayList<XXX> values = ...;
XXXDataProvider xxxDataProvider = new XXXDataProvider(values);
ExtendedTableDataModel<XXX> xxxDataModel = new ExtendedTableDataModel<XXX>(xxxDataProvider);

The selection is binding to

/** Binding selection */
private SimpleSelection xxxSelection;

Last, to retrieve the selected object from your dataprovider :

key = xxxSelection.getKeys().next();
selectedObject = xxxDataModel.getObjectByKey(key);

Upvotes: 4

Related Questions