2013-08-19 36 views
8

PrimeFaces DataTableのフィルタ、並べ替え、ページングの状態をリセットしたいと思います。残念ながら、そうする簡単な方法はありません。特に、ソート状態をリセットすることは困難です。PrimeFaces DataTable状態(フィルタ、ソート、ページング)をリセットする

私が今までやったことです:私はPrimeFaces 3.4.1を使用してい

DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent(componentId); 
if (dataTable != null) { 
    dataTable.setSortOrder("ascending"); // reset sortOrder 
    dataTable.setFirst(0);    // reset page 
    dataTable.setFilteredValue(null);  // reset filter 
    dataTable.setFilters(null); 
} 

答えて

3
dataTable.setSortBy(null); 

私が使用しているPrimeFaces 4.0

+0

私はPrimeface 5.3のdataTable.setValueExpression( "sortBy"、null)とdataTable.setSortBy(null)でそれを確認できます。カラムヘッダーに示された並べ替えを持たないDataTableが作成されました。 - alfonxちょうど今編集する – alfonx

0

まず私は、他の同様のソート状態をリセット回答:

ただし、これで私のためのテーブル。私はビュースコープのBean内のフィールドにデータテーブルのfilteredValue属性を設定していたので、これまでフィルタリングされた結果が表示されていました。 filteredValueフィールドをvalueフィールドに設定し、現在のフィルタリング結果を完全なデータセットに設定して、この問題を修正しました。

-2
private DataTable filtervalue; 
getter and setter of filtervalue .......... 
call resetValue(); method on datatable 
as filtervalue.resetValue(); 

は私がPrimefaces 5.3 dataTable.setValueExpression( "SORTBY"、ヌル)とdataTable.setSortBy(ヌル)にそれを確認することができ、それは

+1

このanwerは、どのように質問(すでに並べ替えについて)にあるものと比較して改善されています....そして、本当のコードを投稿してください。 – Kukeltje

関連する問題