私は JSF を使用しており、ユーザーが列見出しで並べ替えたり、個々のエントリを並べ替えたりできる複雑なデータテーブルがあります。テーブル自体には、読み取り専用で自由に編集可能なチェックボックスとテキストフィールドの両方で構成される行が含まれています。データテーブルの各インスタンスの平均は約 50 行ですが、最大 250 行まで拡張できます。
(データベースから) 取得したデータを (ユーザーが) 調整できることを考えると、並べ替えやデータの移動機能などを含む ArrayList のラッパー コレクションを作成する道をたどりました。送信時に、行エントリの内容と順序の両方をデータベースに「保持」する必要があります。
私の現在のコレクションは、物理的にオブジェクトを移動しています。同期が取れなくなることを恐れて、インデックスの個別のリストを維持したくなかったからです。これが、取得したデータとキャプチャしたデータの両方を 1 つのオブジェクトに結合することを選択した理由でもあります。
これはここで正しいアプローチですか?JSF DataModel を調査しましたが、要素を物理的に移動するのと同じくらい簡単に、現在の並べ替え順序でデータを保持できるかどうかはわかりませんでした。