2011-08-16 41 views
1

我有一個搜索表單,它在對話框中顯示搜索結果,並讓用戶再次搜索並在同一個對話框中重新顯示不同的結果。當用戶再次搜索時,我有分頁和頁碼不會重置。它將保留在他們在最後一次搜索時留下的頁面上。我最終綁定了Primefaces DataGrid組件,並設置了DataGrid.setPage(1)並修復了分頁,但數據仍位於最後一行。有沒有辦法讓DataGrid行休息一下?我試過DataGrid.setRowIndex,但刪除了我的導航。有任何想法嗎?重置Primefaces DataGrid行數據

回答

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>