What is the use of the rowKey attribute in Primefaces' p:dataTable?

vijaya kumar picture vijaya kumar · Sep 18, 2013 · Viewed 19.4k times · Source

I tried to select rows in a p:dataTable, however it shows an error. After I added a value for the rowKey attribute of p:dataTable, the error rectified. I thus wonder what the actual use of the rowKey attribute is.

Answer

miroslav_mijajlovic picture miroslav_mijajlovic · Sep 18, 2013

I quote PrimeFaces reference guide:

RowKey should be a unique identifier from your data model and used by datatable to find the selected rows. You can either define this key by using the rowKey attribute or by binding a data model which implements org.primefaces.model.SelectableDataModel.

So if your datatable is set by collection of beans, rowKey should be the attributte which uniquely represents that bean, e.g a property representing a primary key of a database.