突出显示Rich中的日期:日历

时间:2016-06-01 11:23:07

标签: css jsf richfaces

我有一个工作正常的日历。它会显示点击记录并将颜色更改为绿色或红色。如果记录可用,日期将变为红色。 我不希望onclick我希望日历显示日期颜色 日历onload事件。** KIndly帮助。以下是我的代码。我认为css的问题,我想

public class SortDescription
{
    public string field { get; set; }
    public string dir { get; set; }
}

public class FilterContainer
{
    public FilterDescription[] filters { get; set; }
    public string logic { get; set; }
}

public class FilterDescription
{
    public string @operator { get; set; }
    public string field { get; set; }
    public string value { get; set; }
}

1 个答案:

答案 0 :(得分:0)

日历只显示一个月内的天数,并未与任何数据相关联。此外,styleClass应用于整个日历而不是单元格。您需要提供dataModel。

数据模型必须实现org.richfaces.model.CalendarDataModel,并且还需要为具有getter和setter的普通对象的日子实现org.richfaces.model.CalendarDataModelItem。 CalendarModel将是这样的:

public class MyCalendarModel implements CalendarDataModel {

    private boolean hasEvents(Calendar calendar) {
        // …
    }

    @Override
    public CalendarDataModelItem[] getData(Date[] dateArray) {
        CalendarDataModelItem[] modelItems = new MyCalendarModelItem[dateArray.length];
        Calendar current = GregorianCalendar.getInstance();
        Calendar today = GregorianCalendar.getInstance();
        today.setTime(new Date());
        CalendarModelItem modelItem;
        for (int i = 0; i < dateArray.length; i++) {
            current.setTime(dateArray[i]);
            modelItem = new MyCalendarModelItem();
            if (hasEvents(current)) {
                modelItem.setStyleClass("postive-records");
            } else {
                modelItem.setStyleClass("no-records");
            }
            modelItems[i] = modelItem;
        }
        return modelItems;
    }

    @Override
    public Object getToolTip(Date date) {
        return null;
    }
}

您可以查看showcase中的示例。