2

Primefaces Datatable を使用するページがあります。基本的に ManagedBean はデータベースにクエリを実行し、レポートとして DataTable に情報を表示し、filterBy オプションを使用してフィルタリングします。

情報はページの更新によって自動的に更新されます。私の問題は、システムがページをリロードすると、システムがフィルターに入力された情報を失い、ユーザーがフィルターに情報を再度入力する必要があることです。

ユーザーが入力した情報を保持する必要があるので、自分のページのフィルターのセッションを保持する必要があると思います。これで問題が解決すると思います。

4

1 に答える 1

4

現時点では、PrimeFaces はデータ テーブルのフィルター値の保存をサポートしていないように見えます (PF 3.2 以降)。

代わりに、列のヘッダー ファセットを実装し、その中にフィルターを実行するバッキング Bean のメソッドにバインドされた入力フィールドを追加することをお勧めします。このようにして、フィルタ フィールドの値を View Scope に格納できます (View Scope マネージド Bean または Tomahawk の saveState コンポーネントを使用)。ユーザーがフィールドの値を変更すると、バッキング Bean メソッドが呼び出されるように、入力フィールドを ap:ajax コンポーネントで設定できる (おそらく設定する必要がある) ことに注意してください。 p:column の filterBy 属性を使用して実装しました。

filterBy で日付にポップアップ カレンダーを使用するようにしたいときに上記を実行しましたが、非常にうまく機能します。

于 2012-04-04T18:13:39.133 に答える