2

年の日付範囲を表示するのに最適なコンポーネントを見つけようとしています。月をボックス (12 個のボックス) として表示し、季節を別の色でペイントするというアイデアがあります。

GWT Datepicker は十分に拡張できないため、私のニーズにはあまり合いません ( http://code.google.com/p/google-web-toolkit/issues/detail?id=3848 )。カレンダー コンポーネントは複雑すぎます。GXT datepicker にも拡張性がありません。

それは私が達成したいことのサンプルです:

それは私がやりたいことの簡単なサンプルです

何か案が?ライブラリとしてGXTを使用しています。

4

1 に答える 1

2

私の意見では、DatePicker を使用することはそれほど悪い考えではありません。1 か月をカバーする小さな例を次に示します。これらを 12 個グリッドに配置することで、これを 1 年に拡張することはそれほど難しくないと思います。

ジャワ

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 に答える