我在我的应用程序中使用了这样的计划:
<p:schedule id="performanceSchedule" value="#{performanceScheduleView.eventModel}" />
另一个组件通过调用视图的此方法来修改日程表的数据模型:
private void updatePerformances() {
eventModel.clear();
for (final PerformanceModel perf : dataStorage.getPerformancesForVenue(activeVenueId)) {
final ArtistModel artist = dataStorage.getArtistById(perf.getArtistId());
final Date perfStart = perf.getDate();
final Date perfEnd = new Date(perfStart.getTime() + 1000 * 60 * 60);
eventModel.addEvent(new DefaultScheduleEvent(artist.getName(), perfStart, perfEnd));
}
}
但这意味着用户必须转到另一个日期并返回,否则客户端无法看到更改。
我的第一个想法是像这样进行投票:
<h:form>
<p:poll interval="1" update="performanceSchedule" />
</h:form>
但是这会导致计划跳转到当前日期并使其无法使用。
有关如何解决该问题的任何建议吗?
答案 0 :(得分:0)
您是否尝试添加 initialDate 属性?
<p:schedule id="performanceSchedule" value="#{performanceScheduleView.eventModel}" initialDate="#{performanceScheduleView.initialDate}" />
并在每次支持bean上设置正确的值。