[英]Primefaces dataTable rowIndexVar with pagination
[英]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();
我解决了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
。 ActionListener
在dataTable
刷新之前执行,因此在那一刻,分页设置为'0'作为第一行/记录的值(因此,第一页也是如此)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.