我有一个搜索表单,在对话框中显示搜索结果,让用户再次搜索并在同一个对话框中重新显示不同的结果。我有分页,当用户再次搜索时,页码不会重置。它将保留在最后一次搜索时离开它的页面上。我最终绑定了Primefaces DataGrid组件,并设置了DataGrid.setPage(1)并修复了分页,但数据仍在最后一行。有没有办法休息DataGrid行?我已经尝试过DataGrid.setRowIndex,但这会删除我的导航。有什么想法吗?
答案 0 :(得分:0)
这个bug仍然存在。我的解决方法:
<p:commandButton value="#{txt['global.search']}"
id="search-button"
action="#{searchController.search}"
onsuccess="resetPageByNewSearch();"/>
<script type="text/javascript">
function resetPageByNewSearch(data, status, xhr) {
var widget = PrimeFaces.widgets['dataGridWidget'];
if (typeof widget != "undefined") {
widget.getPaginator().setPage(0);
}
}
</script>