我使用primefaces创建了一个数据表。它包含选项过滤,排序和分页。在过滤表之前,分页工作正常。但是当一些数据被过滤时,分页并不起作用。这意味着不会呈现页码。在以同样的方式在我的另一个应用程序中创建数据表之前。它工作正常。我也在我的代码中尝试了使用primefaces的LazyDataModel。但它也没有用。我无法弄清楚代码中的错误。
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core"
template="home.xhtml">
<ui:define name="content">
<p:tabView style="font-size: 12px" id="numberAnalyzerTab">
<p:tab title="Number Analyzer">
<h:form id="form">
<p:messages id="msgs" showDetail="true" autoUpdate="true" closable="true"/>
<p:dataTable id="dataTable"
var="addressEvent"
value="#{addressTableBean.addressUnits}"
rowKey="#{addressEvent.id}"
rows="10"
selectionMode="single"
paginator="true" filteredValue="#{addressTableBean.filteredAddressUnits}"
editable="true">
<f:facet name="header">
<h:outputText value="List of Addresses"/>
</f:facet>
<p:column headerText="Prefix" sortBy="#{addressEvent.numberPrefix}" filterBy="#{addressEvent.numberPrefix}" id="prifix">
#{addressEvent.numberPrefix}
</p:column>
</p:dataTable>
</h:form>
</p:tab>
</p:tabView>
</ui:define>
答案 0 :(得分:0)
尝试将paginatorTemplate添加到p:datatable并确保不要修改
addressTableBean.filteredAddressUnits
你的bean中的,甚至没有使用new运算符
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="20,50,100" //Your values here