1

我需要更改rich:calendar 组件中的假期。默认情况下,组件将假期显示为“星期日”和“星期六”。

下面是为突出显示假期而定义的样式类。

.rich-calendar-holly
{
background-color: #FFEBDA;
}

我希望这种风格在周五和周六而不是周六和周日工作。有人可以建议我如何实现它richfaces?是否有任何属性可用于设置假期?

提前致谢。

4

1 回答 1

2

您可以定义您的自定义 CalendarDataModel 以便它返回星期五和星期六的某个 css 类,例如

public class CalendarModelItem implements CalendarDataModelItem {
   //rest of code
   private String styleClass;
   public void setStyleClass(String styleClass) { this.styleClass = styleClass; }
   public String getStyleClass() { return styleClass; }
   //rest of code
}

public class CalendarModel implements CalendarDataModel {
    //rest of code
    public CalendarDataModelItem[] getData(Date[] dateArray) {
       CalendarDataModelItem[] modelItems = new CalendarModelItem[dateArray.length];
       Calendar c = Calendar.getInstance();
       for (Date d : dateArray) {                
            c.setTime(d);
            CalendarModelItem modelItem = new CalendarModelItem();
            if (calendar.get(Calendar.DAY_OF_WEEK) == Calendar.FRIDAY || calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
                modelItem.setStyleClass("weekend");
            } else {
                modelItem.setStyleClass("");
            }
            modelItems[i] = modelItem;
       }
       return modelItems;
    }
    //rest of code
}

定义您的自定义 css 类并通过 rich-calendar-holly 重置格式

.rich-calendar-holly{
 background-color:white;
 color:black;
}
.weekend {
 background-color: #FFEBDA;
}

然后在日历组件中使用它

<rich:calendar ... dataModel="#{calendarModel}" />
于 2013-01-15T10:21:14.603 回答