如何设置primefaces数据表的页码,每页行数?
Posted
技术标签:
【中文标题】如何设置primefaces数据表的页码,每页行数?【英文标题】:How to set page number, rows per page of primefaces datatable? 【发布时间】:2017-12-03 12:08:56 【问题描述】:我正在使用 primefaces 数据表向用户显示单选按钮进行选择,现在当页面加载时,表格默认显示第 1 页,每页显示 25 行[这是预期的],我现在想要的是如果用户设置 25每页的行数[按下拉菜单],然后进入第 4 页并选择用户,提交表单,现在当页面刷新时,我希望用户看到带有前一页(第 4 页而不是第 1 页)和相同编号的表格。每页的行数(25 而不是 10)。
粘贴在我的数据表下方。 [我的 bean 是 ViewAccessscoped]。
<p:dataTable id="tableid" var="result"
styleClass="supertable top75"
paginatorTemplate="RowsPerPageDropdown CurrentPageReport LastPageLink NextPageLink PageLinks PreviousPageLink FirstPageLink"
value="#bean.datamodel"
tableStyleClass="pdatatable-table" rows="10"
rowsPerPageTemplate="10,25,50,100" paginator="true"
emptyMessage="No Users are available"
我尝试通过在我的 bean 中使用以下代码来设置数据表的“第一个”属性,但没有成功,这就是我尝试过的
在 xhtml 的事件下方添加
<p:ajax event="page" listener="#bean.onPageChange"></p:ajax>
bean 的方法
public void onPageChange(PageEvent event)
pageindex=event.getPage();
final DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("loginasform:homeDataTable");
dataTable.setFirst(pageindex);
我确实收到了 bean 中的值,但它仍然显示默认页面和每页的行数。
我是 JSF 和 Primefaces 的新手,如果您能在这里提供帮助,请告诉我。
【问题讨论】:
问题中的版本信息“必填”。会阻止下面的答案 【参考方案1】:恢复数据表的状态(就像刷新前一样)...
设置p:dataTable属性multiViewState="true"(参考demoTable State)
但如果它似乎不起作用,请更改为 @ViewScoped。还要确认您正在使用的 primefaces 版本。
【讨论】:
嘿丹尼斯,我认为该属性适用于 primefaces 6 并且我有 primefaces 5 ,我实际上已经接近得到我想要的东西,一旦我确认结果就会发布答案 确实最好总是在答案中发布版本信息以上是关于如何设置primefaces数据表的页码,每页行数?的主要内容,如果未能解决你的问题,请参考以下文章