【发布时间】:2015-07-01 08:40:02
【问题描述】:
我在我的 Web 应用程序中使用 JSF 2.0 和 PrimeFaces 5.2。在一个页面上有一个Datatable,它以分页的形式显示存储在Database 中的门票。
通常pagination 工作正常,但是当我使用filterBy 过滤票证时,它会返回 4 页,其中第一页显示正确过滤的票证,只要我点击第 2 页或任何大于 1 的页码,@ 987654328@ 不显示过滤结果,而是显示各个页面的未过滤票证,就好像没有应用过滤器一样,我也希望在其他页面上过滤结果。
更准确地说,我希望当我单击大于 1 的页码时,Datatable 从过滤的票证集中获取相应的页面,而不是形成所有票证的集合。我该怎么做?
我已经浏览了PrimeFaces 5.2' User-Guide,并阅读了 Datatable 的属性并尝试了一些似乎有用但问题仍然存在的方法。
这是我的数据表,
<p:dataTable id="tickets" var="ticket"
value="#{ticketBean.ticketModels}" paginator="true" rows="10"
filteredValue="#{ticketBean.filteredTickets}">
<p:column headerText="Summary" style="width:300px;">
<h:outputText value="#{ticket.summary}" />
</p:column>
<p:column headerText="Status" filterBy="#{ticket.status}"
filterOptions="#{ticketBean.statusFilterList}"
filterMatchMode="exact" style="width:110px;">
<h:outputText value="#{ticket.status}" />
</p:column>
<p:column headerText="Assigned To" filterBy="#{ticket.assignedTo}"
filterOptions="#{ticketBean.userFilterList}" filterMatchMode="exact"
style="width:110px;">
<h:outputText value="#{ticket.assignedTo}" />
</p:column>
....................................
</p:dataTable>
【问题讨论】:
-
请显示一些代码。看看here 如何创建一个 mcve
标签: jsf-2 primefaces datatable pagination