的方案
我有一个DateField用户可以搜索旧的拍卖信息。但旧的拍卖信息只能搜索到昨天。因此,我的DateField组件会将昨天的日期显示为默认值。这些日期是从今天开始的,后来在我的约会地点应该是不可选择的。
为了满足上述条件,我设置了 setRangeEnd() ,如下所示
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -1);
Date yesterday = new Date(calendar.getTimeInMillis());
PopupDateField auctionDate = new PopupDateField("Auction Date", yesterday);
auctionDate.setStyleName("auctiondatebox");
auctionDate.setDateFormat("dd/MM/yyyy");
auctionDate.setRangeEnd(yesterday);
我将外部天数的颜色设置为红色。
.v-datefield-calendarpanel-day-outside-range {
color:red !important;
}
那很好,但我还有另一个条件。每个周日,拍卖 OFF 。因此,用户不应该在我的日期字段中选择这些关闭日期(每个星期日应该无法选择并将颜色显示为红色)。
请有人给我建议如何在DateField中定义不可选择的日期。谢谢!
答案 0 :(得分:2)
尝试使用css。 如果星期天是最后一栏:
.v-datefield-calendarpanel-body tr>td:last-child{
pointer-events: none;
color: red;
}
如果星期日列是第一列(在vaadin datefield第一列中隐藏,因此星期日列是第二列):
.v-datefield-calendarpanel-body tr>td:first-child + td{
pointer-events: none;
color: red;
}