我是Web开发,primefaces和stackoverflow的新手。 我甚至不确定我是否被允许在这里问这样的通用问题,但是我想我试一试,因为它让我疯了!
所以我使用Primefaces计划组件来开发调度程序。此调度程序从数据库中读取每天的事件,并将其显示在调度程序上。当然,用户可以通过单击日期添加/编辑/删除这些事件,并打开一个对话框,用户可以操作数据。
这是一个班次调度员,因此每天的班次数量是有限且一致的(并且是强制性的)。例如,每天都有一个
1) moderator (MM)
2) morning security guard (MSG)
3) afternoon security guard (ASG)
4) overnight security guard (NSG)
这只是谁接受这些转变的问题,否则这些转变必须提前2天填写。所以我想做的是
1)从数据库中读取数据并使用已分配的数据填充当天(简单) 2)如果尚未分配它们,则显示一个空字段(不再是来自数据库,仅限视图事件)
,例如
Wednesday Thursday Friday
MM bob MM mike MM <empty>
MSG mike MSG john MSG <empty>
ASG john ASG <empty> ASG <empty>
NSG dave NSG bob NSG <empty>
这里,已经分配的所有内容都是从数据库中读取的,但我不知道如何显示那些尚未分配的内容。请注意,它们不在数据库中,它们只是在视图中,直到用户单击它以将其分配给自己。
非常感谢任何建议,代码的和平或任何其他帮助。即使你知道一个更好的选择(比使用primefaces),也请随时告诉我。
答案 0 :(得分:1)
我的建议是从数据库中检索值并循环它们。当你应该有一个特定日期的值,而你没有(因为不在数据库中)然后添加一个空(到你的bean中的变量) 或者,您可以在bean(构造函数)中实例化一个空条目的完整列表,并在从数据库中检索结果时,循环它们然后添加(替换空的)到bean变量。这样你最终得到一个空的和填充点的列表。 你如何从数据库中读取这些值?这是一个清单吗?
答案 1 :(得分:1)
在上面尝试过Roel的建议,效果很好:
schedulerModel = new LazyScheduleModel(){
@override
public void loadEvents(Date start, Date end){
for(date=start;date<end;date++){//obv psudo
if(iSinDataBase)
showDatainDB();
else
addEvent(new scheduleEvent(title,date,date));
}
}
}