2

我是 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),也请随时告诉我。

4

2 回答 2

1

我的建议是从数据库中检索值并循环它们。当你应该有一个特定日期的值,而你没有(因为不在数据库中)然后添加一个空值(到你的 bean 中的变量)或者你可以在你的 bean 中实例化一个完整的空条目列表(构造函数) 并在从数据库中检索结果时,循环它们并将然后(替换空的)添加到您的 bean 变量中。这样,您最终会得到一个空白点和填充点列表。您如何从数据库中读取这些值?是清单吗?

于 2013-01-23T09:51:07.820 回答
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));
     }
  }

}
于 2013-02-06T05:39:50.087 回答