首先,我知道这个问题可能被认为是与StackOverflow相关的离题。如果是,请告诉它在StackExchange网站内更适合的位置。PrimeFaces web应用程序的设计
我需要为以下(简单)情况开发一个简单但完整的用户界面:处理多个用户参加一系列事件。此应用程序的目标用户是超级用户,即需要监视和统计每个用户参与的事件数量以及参与事件的用户数量的人员。超级用户应该能够对用户,事件,出席者进行任何类型的CRUD操作。
db结构由表组成:用户,事件,出勤。
用户具有出勤一个OneToMany
关系:一个用户被链接到许多出勤。
事件与出席一个OneToMany
关系。
我认为布局如下(使用PrimeFaces小部件):带有2个选项卡的TabView:用户和事件。每个标签显示其所有类型的记录,通过DataTables
使用LazyLoading,对每列进行过滤和排序。
每个DataTable都具有附加列,其中包含用于编辑 - 删除操作的按钮。此外,用户表中的附加列还包含一个“查看事件”按钮,用于查看与该用户相关的事件。以一种镜面的方式,“查看用户”按钮出现在事件表中。
“查看事件”按钮将打开一个模式对话框,其中包含另一个DataTable以及与用户相关的事件。
问题出在:让超级用户更新与选定用户相关的事件列表的合理方法是什么?我是否应该用一个显示关系的单选按钮显示所有事件,包括那些不相关的事件?或者我应该只显示相关事件?超级用户将如何添加新的相关事件?我是否需要另一个DataTable来显示尚未关联的事件?或者我应该使用PickList?如果使用PickList,当列表很长时会发生什么?我在PickList组件中看不到分页或过滤功能。
当然,你的想法是非常有用的。我正在考虑一些非常相似的东西 – perissf 2012-04-13 16:48:06