Primefaces PAGINATEレイジーのDataTable
...
private LazyDataModel list;
...
public void search() {
list = new LazyDataModel<SomeDTO>() {
private static final long serialVersionUID = 1L;
List<SomeDTO> result = null;
@Override
public List<SomeDTO> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
List<SomeDTO> result = service.search(searchedName, first, pageSize);
// SOME CODE HERE FOR PAGINATION ?? BUT WHAT
return result;
}
};
// HOW TO DELETE THIS EXTRA REQUEST
list.setRowCount(service.search(searchedName));
}
私の質問は、結果(サイズ+ 1)からsetRowCountする方法です。 DBからカウントを取得したくないのは、私はDBを要求せずにrowCountを計算できると確信しているからです。
これは、データテーブルを更新します。二度。クエリは2回実行されます...あなたが思うと思うものではありません。 – Kukeltje
いいえすべてのことを知っている、問題を解読し、解決策を提供する前にpersones.apparentlyあなたがプライムフェイスdatatable怠惰なロードを知っていないとどのように動作します! –
まず第一に、私は人を判断していない、私は答えを判断しています。技術的にはうまくいくかもしれませんが、効率的なソリューションではありません。あなたは答えを読むことについてはっきり言っています。 **私は、「受け入れられた」PrimeFacesパッチを作成した人ですが、気付いたのですか?**私は、フォーラムや古いissuelistのPrimeFacesデータテーブルのために、リピート。私は私の環境で長時間働いているので、**私は**遅延読み込み**を知っています。ですから、人を判断する前にレコードを真っ直ぐにしてください** – Kukeltje