The row state example demonstrates some of the enhanced control functions associated with row selection, visibility and cell / row editability. Click on the desired Selection, Visibility, and Editability attributes, then click on the desired cell / row in the table. To demonstrate in-cell editing, select Enable Editing for All, select the desired row of the cell you wish to edit, then click the pencil icon associated with the row you wish to edit. The data table entries will become editable in place. Once finished, click the checkmark to confirm and update or the “x” under the Edit row to reject the changes.
The RowStateMap class implements Map<Object, RowState>, where the object used as key is the same data object used to populate the row. Because of this, when using these advanced features, like selection, editing, expansion, etc., it is necessary that the data object class implement custom hashCode() and equals() methods so that the correct RowState object be returned every time throughout multiple lifecycles, consistently. This is especially important when using these features in lazy loading mode.