smartgwt カレンダー ツールに問題があります。クラス カレンダーの保護されたメソッド getdaybodyhtml() を使用して、月の特定の日に特別なアイコン フラグを割り当てるようにカスタマイズしました。クロム(すべてのバージョン)IE(7、8、9)およびFF(14.0.1まで)ですが、FF(15から19の間)でカレンダーを表示すると、このフラグアイコンは表示されません。コードをフォローしたところ、getdaybodyhtml() メソッドで定義した html コードが出力されていないことがわかりました。
そのような問題についてsmartgwtを探していましたが、関連するものは見つかりませんでした。どんな助けも受け取られるでしょう。(私の英語があまり上手でない場合は申し訳ありませんが、私の第二言語です)
コードの一部は次のとおりです。
private Calendar calendar = new Calendar(){
@Override
@SuppressWarnings("deprecation")
protected String getDayBodyHTML(Date date, CalendarEvent[] events, Calendar calendar, int rowNum, int colNum) {
String value = defaultMessage != null ? defaultMessage : date.getDate()+"";
// The "events" are the events of the day
List<CalendarEvent> calendarEvents = new ArrayList<CalendarEvent>(Arrays.asList(events));
if(calendarEvents != null && calendarEvents.size() > 0) {
// Removing the tooltip and the excluded colours
removeTooltipsFromCalendar(calendar,date);
removeExcludedColoursFromCalendar(calendarEvents);
if(calendarEvents.size() == 1){
// Description contains the colour
String colour = calendarEvents.get(0).getDescription();
value = imgHTML(COASTAL_IMAGES_DIR+colour+COASTAL_IMAGE_SUFFIX, colourWidth, colourHeight, "images", "class='handCursor'", null);
}else if(calendarEvents.size() > 1){
// Might have two vessels going to the same port in the same day
Set<String> colours = new HashSet<String>();
for(CalendarEvent event : calendarEvents){
// Description contains the colour
colours.add(event.getDescription());
}
int numberOfPorts = colours.size();
for(String colour : colours){
value += "<div>";
value += imgHTML(COASTAL_IMAGES_DIR+colour+COASTAL_IMAGE_SUFFIX, colourWidth, colourHeight/numberOfPorts, "images", "class='handCursor'", null);
value += "</div>";
}
}else{
value = defaultMessage != null ? defaultMessage : date.getDate()+"";
}
}
return value;
}
};
PD: Chrome と IE のすべてのバージョンのコード:
value += "<div>";
value += imgHTML(COASTAL_IMAGES_DIR+colour+COASTAL_IMAGE_SUFFIX, colourWidth, colourHeight/numberOfPorts, "images", "class='handCursor'", null);
value += "</div>";
14バージョンまでのfire foxでは問題なく印刷されますが、15から19までのffでは「div」と「image」が印刷されません。コードがfirebugをスローし、divがそのfirefoxバージョン(15-19)に表示されないことをすでに確認しています。
PD: IE 10 の最新の更新でも動作しません。