Reputation: 501
Hi I have a datatable with lazy data loading and a context menu with the option to select/unselect all items. But I have no ideia how make it.
<h:form>
<p:contextMenu for="tableNozzleFamily">
<p:menuitem value="#{bundle.global_select_all}" icon="ui-icon-plus"/>
<p:menuitem value="#{bundle.global_unselect_all}" icon="ui-icon-minus"/>
</p:contextMenu>
<p:dataTable id="tableNozzleFamily" var="nf" value="#{nozzleBean.lazyModel}" paginator="true" rows="20" rowsPerPageTemplate="20, 30, 50" lazy="true" emptyMessage="#{bundle.global_no_data}" selection="#{nozzleBean.selectedNozzleFamilies}">
<p:columnGroup type="header">
<p:row>
<p:column rowspan="2" headerText="#{bundle.global_selection}"/>
...
</p:row>
</p:columnGroup>
<p:column selectionMode="multiple" style="width:18px"/>
...
</p:dataTable>
My enviroment: Glassfish 3.1.2.2 Mojarra-2.1.11 Primefaces-3.3.1
Upvotes: 1
Views: 8864
Reputation: 4044
Did you check primefaces showcase? there is an example that does exactly this.
<p:dataTable id="multiCars" var="car" value="#{tableBean.mediumCarsModel}" paginator="true" rows="10"
selection="#{tableBean.selectedCars}">
<f:facet name="header">
Checkbox Based Selection
</f:facet>
<p:column selectionMode="multiple" style="width:18px" />
<p:column headerText="Model">
#{car.model}
</p:column>
<p:column headerText="Year">
#{car.year}
</p:column>
<p:column headerText="Manufacturer" >
#{car.manufacturer}
</p:column>
<p:column headerText="Color">
#{car.color}
</p:column>
<f:facet name="footer">
<p:commandButton id="multiViewButton" value="View" icon="ui-icon-search"
update=":form:displayMulti" oncomplete="multiCarDialog.show()"/>
</f:facet>
</p:dataTable>
Upvotes: 3