我需要在SmartGWT DateChooser中禁用(或设置为红色)特定日期。我正在尝试使用setDisabledDates(日期...disabledDates)并使用setDisabledWeeenddayStyle更改cssStyle,但这不起作用。你知道我该怎么做吗?
public class CustomDateItem extends DateItem {
private DateChooser chooser = new DateChooser();
public CustomDateItem() {
this("", "");
}
public CustomDateItem(String name, String title) {
super(name, title);
onInit();
}
private void onInit() {
Date date = new Date(2014, 06, 27);
chooser.setDisabledDates(date);
setPickerProperties(chooser);
}
}这是我的DateItem.java。但是,如果我尝试这样的操作:
public class CustomDateItem extends DateItem {
public CustomDateItem() {
this("", "");
}
public CustomDateItem(String name, String title) {
super(name, title);
onInit();
}
private void onInit() {
Date date = new Date(2014, 06, 27);
System.out.println(date);
getPickerProperties().setDisabledDates(date);
}
}我收到js错误:
com.google.gwt.core.client.JavaScriptException: (TypeError) @com.smartgwt.client.util.JSOHelper::setAttribute(Lcom/google/gwt/core/client/JavaScriptObject;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)([null, string: 'disabledDates', JavaScript object(341)]): elem is null但是正如您所看到的,“DateChooser”不是空的,并且getPickerProperties()会创建自己的日期。
发布于 2014-06-27 22:44:13
好了,解决了。日期必须像这样声明:
Calendar cal1 = new GregorianCalendar(2014, 05, 26);所有的代码都应该是这样的:
public class DateItem extends com.smartgwt.client.widgets.form.fields.DateItem {
private DateChooser chooser = new DateChooser();
public DateItem(String name, String title) {
super(name, title);
onInit();
}
private void onInit() {
Calendar cal1 = new GregorianCalendar(2014, 05, 26);
Date[] dates = new Date[]{cal1.getTime()};
chooser.setDisabledDates(dates);
chooser.setDisabledWeekdayStyle("holidays");
chooser.setDisabledWeekendStyle("holidays");
setPickerProperties(chooser);
}
}希望它能帮助到一些人。
https://stackoverflow.com/questions/24429806
复制相似问题