アプリケーションでGWTの(2.5)SimplePagerクラスを使用して、プリロードされたデータを表示しています(事前に正確な行数が分かっています)。GWT SimplePagerの問題
問題は最後のページです。たとえば、最初の可視範囲10の42要素があるとします。 最初のページは1-10、2番目の11-20、3番目の21-30、4番目の31-40です。 問題は5ページ目が41-42ではないことです(同じデータ上でを正確にと「スクロールして」表示できるようにしたいからです)。
私は、成功していないSimplePager/AbstractPagerメソッドをオーバーライドしてさまざまな試みを試みました。 たとえば、setPageStartをオーバーライドする場合は、com.google.gwt.user.cellview.client.AbstractPager.setPageStart(int)と同じ操作を行いますが、次のようにコメントアウトします(私はそれが原因コードだと思います)。
if (isRangeLimited && display.isRowCountExact()) {
index = Math.min(index, display.getRowCount() - pageSize);
}
最後のページは良いですが(41-42)、ページサイズが永久に消えてしまい、最後のページから前のページに行くと40-41(予想:31-40)になります。これは、ページ・サイズがページャ・インスタンスに提供される定数ではなく、最後に使用されたRangeオブジェクト(setPageStartメソッドの "int pageSize = range.getLength();")で計算されるためです。
私のニーズに合わせてページングの動作を変更する手掛かりはありますか?
ありがとうございます!