まず第一に、私はこの質問がStackOverflowに関してトピックから外れていると見なされる可能性があることを認識しています。場合によっては、StackExchangeサイト内のどこに適しているかを教えてください。
次の(単純な)状況に対応するために、単純ですが完全なユーザーインターフェイスを開発する必要があります。多数のユーザーの多数のイベントへの出席を処理する。このアプリのターゲットユーザーはスーパーユーザーです。つまり、各ユーザーが参加したイベントの数と、イベントに参加したユーザーの数を監視およびカウントする必要があるユーザーです。スーパーユーザーは、ユーザー、イベント、出席に対してあらゆる種類のCRUD操作を実行できる必要があります。
db構造は、user、event、attendanceのテーブルで構成されています。
ユーザーには出席OneToMany
との関係があります。1人のユーザーが多数の出席にリンクされています。
イベントは出席OneToMany
と関係があります。
私が考えたレイアウトは次のとおりです(PrimeFacesウィジェットを使用):2つのタブを持つTabView:ユーザーとイベント。各タブには、DataTables
LazyLoading、フィルタリング、および各列の並べ替えを通じて、そのタイプのすべてのレコードが表示されます。
各DataTableには、編集-削除操作用のボタンを備えた追加の列があります。さらに、ユーザーテーブルの追加の列には、そのユーザーに関連するイベントを表示するための[イベントの表示]ボタンが含まれています。鏡面反射的に、「ユーザーの表示」ボタンがイベントテーブルに表示されます。
[イベントの表示]ボタンは、ユーザーに関連するイベントを含む別のDataTableを含むモーダルダイアログを開きます。
ここに質問があります:選択したユーザーに関連するイベントのこのリストをスーパーユーザーに更新させる合理的な方法は何ですか?関係のないイベントを含むすべてのイベントを、関係を示すラジオボタンのある列で表示する必要がありますか?または、関連するイベントのみを表示する必要がありますか?スーパーユーザーはどのようにして新しい関連イベントを追加しますか?まだ関連していないイベントを示す別のDataTableが必要ですか?または、PickListを使用する必要がありますか?PickListを使用している場合、リストが長いとどうなりますか?PickListコンポーネントにページ付けまたはフィルタリング機能が表示されません。