我正在尝试找到显示一年中日期范围的最佳组件。一个想法是将月份显示为盒子(12 个盒子),并用不同的颜色绘制季节。
GWT Datepicker 并不能真正满足我的需求,因为它的可扩展性不够(http://code.google.com/p/google-web-toolkit/issues/detail?id=3848)。日历组件太复杂了。GXT 日期选择器也缺乏可扩展性。
这是我想要实现的示例:
任何的想法?我使用 GXT 作为库。
我正在尝试找到显示一年中日期范围的最佳组件。一个想法是将月份显示为盒子(12 个盒子),并用不同的颜色绘制季节。
GWT Datepicker 并不能真正满足我的需求,因为它的可扩展性不够(http://code.google.com/p/google-web-toolkit/issues/detail?id=3848)。日历组件太复杂了。GXT 日期选择器也缺乏可扩展性。
这是我想要实现的示例:
任何的想法?我使用 GXT 作为库。
在我看来,使用 DatePicker 并不是一个坏主意。这是一个涵盖一个月的小示例。我认为通过将其中的 12 个放在一个网格中,将其延长到一整年并不难:
final DateTimeFormat format = DateTimeFormat.getFormat("yyyy-MM-dd");
final DatePicker datePicker = new DatePicker();
datePicker.setCurrentMonth(format.parse("2012-01-01"));
datePicker.addStyleName("my-cal");
final Date start = format.parse("2012-01-17");
final Date end = format.parse("2012-01-28");
for (final Date date = start; date.compareTo(end) <= 0; CalendarUtil
.addDaysToDate(date, 1)) {
datePicker.addStyleToDates("my-green", date);
}
.my-green { background-color: green !important; }
.my-cal .datePickerPreviousButton { visibility: hidden; }
.my-cal .datePickerNextButton { visibility: hidden; }
使用“干净”主题,它看起来像这样:
PS 以下是完整日历的样子:
完整代码: