There are several ways to select a row or multiple rows, such as line selection and selection with radio buttons and checkboxes, from the dataTable
component. We will cover all the possibilities in this recipe.
To make a single selection possible with a command component, such as commandLink
or commandButton
, f:setPropertyActionListener
can be used to set the selected row as a parameter to the server side:
<p:dataTable id="withCommand" var="car"
value="#{dataTableBean.cars}"
selection="#{dataTableBean.selectedCar}">
<p:column>
<p:commandButton value="Select" update=":mainForm:display"
oncomplete="carDialog.show()">
<f:setPropertyActionListener value="#{car}"
target="#{dataTableBean.selectedCar}" />
</p:commandButton>
</p:column>
...
</p:dataTable>
The selection attribute needs to be bound to an instance of the Car
reference in order to get the selected data.
Instead of using...