繁体   English   中英

Primefaces数据表重置分页

[英]Primefaces datatable reset pagination

我在搜索实用程序中使用了dataTable组件和paginator,它工作得很好但是将paginator页面重置为第一页时出现问题。 例如,您在分页器的第6页上,并且您执行了新的搜索,dataTable将重新加载新数据,但页码不会重置为1,它仍保留在6。

我正在使用PF 3.4.2。 任何想法?

将以下javascript添加到更新DataTable模型的操作中:

onclick="myWidgetVar.getPaginator().setPage(0);"

其中myWidgerVar是DataTable的WidgetVar。

确保DataTable具有WidgetVar集。 有关更多背景信息,请参阅Optimus Prime的这篇文章。

以上导致网格调用现有过滤器刷新数据。 如果您明确希望网格从第一页加载新数据,则可以在服务器端重置数据表

DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("dialogSelectionForm:carSelectDialogTable");
dataTable.reset();

参考 - http://forum.primefaces.org/viewtopic.php?f=3&t=5807

我解决了widgetVarDataTable.clearFilters(); 在primefaces 3.5和PF('widgetVarDataTable')。clearFilters(); 在primefaces 5.0

我用PF('dataTableWidgetVar')解决了我的问题.pagginator.setPage(0); 在Primefaces 6.0中

我必须在后端解决这个问题。 为了解决这个问题而不执行某种“重复刷新”,我确实实现了这个:

<p:commandButton ... update="dataTable" actionListener="#{myController.bindingDataTable.setFirst(0)}" oncomplete="someClientJS();" ... />

此代码假定前端的dataTable绑定到后端引用变量myController.bindingDataTable ActionListenerdataTable刷新之前执行,因此在那一刻,分页设置为'0'作为第一行/记录的值(因此,第一页也是如此)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM