2012-06-13 22 views
5

列の値に(言語固有の)ラベルを表示しています。列はソート可能で、JSFラベルはデータベース値とは異なります。私は、ページ設定を使用してプライマリのdatatableを使用しています。ソート可能なデータテーブルでJSFラベルを並べ替える方法

データベースの値ではなく、ラベルでソートするにはどうすればよいですか?どんな種類の翻訳が可能なので、私のJPA基準は異なる価値について知っていますか?メモリ内にそれをソート

は、データセットが巨大であるかもしれないと私はサブセットのみを表示したいので、オプションではありません(ページネーションのサイズはページあたり10の項目などである)

+0

' Daniel

+0

あなたの提案に感謝し、私はすでにそれを試してみました。しかし、ラベルはデータベースには格納されず、ソートが行われます(生成されたステートメントでは)。つまり、データベースはユーザーに表示されるラベルを認識していません。しかし、ユーザは間違ったソート動作について疑問を抱いています – jonnie119

+0

このラベルをテーブルにある行を表すオブジェクトに配置します...、y? – Daniel

答えて

0

私は何を達成することは不可能であると信じてあなたは探している。

データベースは値が分からない限りソートできません。ラベルを翻訳し、データベースから読み込んだ後にソートすることはできますが、リソースの制約のためにメモリ内のソートは必要ありません。

最高の解決策は、データベースにローカリゼーションソリューションを実装することです。次に、dbは各ラベルの翻訳を検索し、並べ替えを適用できます。個人的には、エンドユーザーが簡単に翻訳できるように、アプリケーションをローカライズするときにこれを行う方法だと私は考えています。ファイルシステムバンドルを参照するのではなく、dbルックアップを実行するJavaリソースバンドルプロバイダを作成することもできます。

0

lazyloadの例はここにあります:

カスタムソートは、そのリンクのメソッドに従って作成できます。

+0

その記事のコードの一部をあなたの答えにコピーできますか?そうしないと、リンクがなくなると、あなたの答えは将来他の誰にとっても役に立たなくなります。 – slm

関連する問題