Primefaces のデータテーブルに遅延モデルを使用しています。エクスポートするために、すべてのデータを取得したいと思います。つまり、行のカウントに使用されるデータを意味します。
次を使用して、現在データテーブルページに表示されているすべてのデータを取得できます。
List<Info> data = (List<Info>) lazyModel.getWrappedData();
しかし、より多くのページにさらに多くのデータがある可能性があります。データテーブルからすべてのデータを取得するために、前述の方法に似た方法はありますか?
これを使用してみましたが、これは常に null を返します。
DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
.findComponent(":form:infoTable");
List<Info> data = dataTable.getFilteredValue();
私が試した別の方法は、行数ではなくオブジェクトのリストを取得するという違いがありますが、そのためにはフィルターも必要です。これが解決策になる場合、遅延読み込みに使用しているフィルターを取得するにはどうすればよいですか?
一般的に、どうすればこの問題を解決できますか?