Primefaces数据表重置分页

cal*_*afa 12 datatable primefaces

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

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

8bi*_*kie 21

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

onclick="myWidgetVar.getPaginator().setPage(0);"
Run Code Online (Sandbox Code Playgroud)

其中myWidgerVar是DataTable的WidgetVar.

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

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

DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("dialogSelectionForm:carSelectDialogTable");
dataTable.reset();
Run Code Online (Sandbox Code Playgroud)

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

  • 这就是诀窍.但是,它再次调用服务器进行刷新.如果我不想要服务器刷新怎么办,因为已经有一个明确的调用呢? (5认同)

小智 10

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


小智 5

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