我有一個可以用datascroller擴展的可擴展的richfaces。我們寫了一個自己的類來擴展ExtendeddataModel。Richfaces extendeddatatable和datascroller - 在頁面重置時的渲染順序
一切工作正常,直到以下情形:
- 轉到datascroller
- 使用,導致數據量較小的任何過濾器的最後一頁,所以最後的頁面不存在任何更
結果:datascroller「跳躍」到正確的頁面,但數據表仍顯示空
一些調試後我發現指出,「行走()」的ExtendeddataModel-實施的方法被調用之前datascroller寫入日誌:
The requested page isn't found in the model. Paging is reset to page...
我們使用篩選,排序,推送機制的新數據......這樣一種複雜的環境,我不能在這裏發佈,但我試圖指出最重要的部分。
<h:selectManyCheckbox value=#{controller.filter}>
<f:selectItems value="#{controller.filterOptions} />
<a4j:ajax render="table scroller" />
</h:selectManyCheckbox
<rich:extendeddatatable id="table" ... />
<rich:dataScroller for="table" id="scroller" renderIfSinglePage="false"
page="#{controller.page}"
向datascroller添加render =「table」沒有幫助。唯一有幫助的是將渲染放入兩個不同的請求中,所以首先只渲染datascroller,然後渲染數據表。
有沒有辦法做到這一點沒有2請求?我能強制渲染命令嗎?或者我只是在dataScroller/datatable的配置中錯過了一些東西,在滾動器重置後呈現它...