2

我正在尝试找到显示一年中日期范围的最佳组件。一个想法是将月份显示为盒子(12 个盒子),并用不同的颜色绘制季节。

GWT Datepicker 并不能真正满足我的需求,因为它的可扩展性不够(http://code.google.com/p/google-web-toolkit/issues/detail?id=3848)。日历组件太复杂了。GXT 日期选择器也缺乏可扩展性。

这是我想要实现的示例:

这是我想做的一个简单示例

任何的想法?我使用 GXT 作为库。

4

1 回答 1

2

在我看来,使用 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);
}

CSS

.my-green { background-color: green !important; }
.my-cal .datePickerPreviousButton { visibility: hidden; }
.my-cal .datePickerNextButton { visibility: hidden; }

使用“干净”主题,它看起来像这样:

在此处输入图像描述


PS 以下是完整日历的样子:

在此处输入图像描述

完整代码:

http://pastebin.com/xkrRQQht

于 2012-05-22T19:04:21.153 回答