Code: Select all
<composite:implementation>
<p:dataTable var="row"
value="#{cc.attrs.value}"
filteredValue="#{cc.attrs.state.filteredValue}"
first="#{cc.attrs.state.first}"
paginator="true"
paginatorAlwaysVisible="true"
paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20,50,100"
currentPageReportTemplate="Record {startRecord} to {endRecord} of {totalRecords}"
rows="#{cc.attrs.state.rows}"
styleClass="#{cc.attrs.styleClass}"
rowStyleClass="#{cc.attrs.rowStyleClass}">
<f:event type="preRenderComponent" listener="#{cc.attrs.state.onPreRenderComponent}"/>
<p:ajax event="page" listener="#{cc.attrs.state.onPage}"/>
<p:ajax event="sort" listener="#{cc.attrs.state.onSort}"/>
<p:ajax event="filter" listener="#{cc.attrs.state.onFilter}"/>
<composite:insertChildren/>
</p:dataTable>
</composite:implementation>
Code: Select all
DataModel must implement org.primefaces.model.SelectableDataModel when selection is enabled.
at org.primefaces.component.datatable.DataTable.getRowKeyFromModel(DataTable.java:922) [primefaces-3.5.jar:]
at org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:739) [primefaces-3.5.jar:]
Code: Select all
public boolean isRowSelectionEnabled() {
return this.getSelectionMode() != null;
}
Code: Select all
public boolean isRowSelectionEnabled() {
String mode = getSelectionMode();
return mode != null && !mode.equals("");
}
I've tried things like selectionMode="#{not empty cc.attrs.selectionMode ? cc.attrs.selectionMode : null}" and still get empty string. Is there any way to coerce EL, cc.attrs, or ComponentStateHelper#eval to return null?