在我的vaadin项目中,可以创建日历显示的事件。它确实有效,除非活动是在一夜之间,让我们说从23日到24日的夜晚,日历显示为24日。在这种情况下,应该显示属于第24个事件的部分,但事实并非如此。当我切换到每周视图时,事件会正确显示。这是我获取数据并使用日历容器的函数:
/* Fill Calendar from database */
void updateData() {
final BeanItemContainer<TypeReservationEvent> container =
new BeanItemContainer<TypeReservationEvent>(TypeReservationEvent.class);
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("roomParent",chosenRoom);
String query = "SELECT DISTINCT res FROM EntityReservation res, EntityRoom r, EntityTable rt WHERE res.tableId = rt.id "
+ "AND rt.roomParent =:roomParent";
reservationList = facade.list(query, parameters);
for(EntityReservation rt : reservationList) {
container.addBean(new TypeReservationEvent(rt));
}
container.sort(new Object[]{"start"}, new boolean[]{true});
cal.setContainerDataSource(container, "caption",
"description", "start", "end", "styleName");
// Force calendar to refresh
if(selectCalViewType.getValue() == chooseWeeklyView) {
setViewType(calViewType.DAILY);
setViewType(calViewType.WEEKLY);
} else if (selectCalViewType.getValue() == chooseDailyView) {
setViewType(calViewType.WEEKLY);
setViewType(calViewType.DAILY);
}
}
TIA
编辑:请注意,缺少的事件没有类的等级&#34; v-calendar-event&#34;与正常事件相反。所以我认为这不是一个纯粹的CSS问题,但由于某种原因,日历决定不显示该事件。
答案 0 :(得分:0)
我遇到了类似的问题并用以下风格解决了这个问题。但我相信有更好的解决方案......
.v-calendar-weekly-longevents {
display: block !important;
}