首先,我知道这个问题相对于 StackOverflow 可能被认为是题外话。以防万一,请告知它在 StackExchange 站点中更适合的位置。
我需要为以下(简单)情况开发一个简单但完整的用户界面:处理多个用户对多个事件的出席。这个应用程序的目标用户是超级用户,即需要监控和统计每个用户参与了多少事件,以及有多少用户参与了一个事件的人。超级用户应该能够对用户、事件、出席者进行任何类型的 CRUD 操作。
db 结构由表组成:用户、事件、出席。
用户与考勤有OneToMany
关系:一个用户与多个考勤相关联。
活动与出席有OneToMany
关系。
我想到的布局如下(使用 PrimeFaces 小部件):带有 2 个选项卡的 TabView:用户和事件。每个选项卡显示其类型的所有记录,通过DataTables
延迟加载、过滤和对每列排序。
每个 DataTable 都有附加的列,其中包含用于编辑-删除操作的按钮。此外,用户表中的附加列包含一个“查看事件”按钮,用于查看与该用户相关的事件。以一种特殊的方式,“查看用户”按钮出现在事件表中。
“查看事件”按钮打开一个模式对话框,其中包含另一个 DataTable,其中包含与用户相关的事件。
问题来了:让超级用户更新与所选用户相关的事件列表的合理方法是什么?我是否应该显示所有事件,包括不相关的事件,以及带有显示关系的单选按钮的列?还是应该只显示相关事件?超级用户将如何添加新的相关事件?我是否需要另一个数据表来显示尚未相关的事件?还是我应该使用 PickList?如果使用 PickList,当列表很长时会发生什么?我在 PickList 组件中看不到分页或过滤功能。