vaadin - 如何在 DateField 上定义禁用日期?

标签 vaadin vaadin7

Scenario


I have a DateField for users to search old auction informations. But old auction informations can only search until yesterday. So , my DateField component will show yesterday date as default. Dates these were from today and later should be unselectable at my 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;
  }

那很好,但我还有一个条件。每个星期日,拍卖都关闭。所以,用户不应该在我的日期字段中选择这些休息日(每个 星期日 都应该不可选择并且颜色显示为红色)
请有人给我建议如何在 DateField 中定义不可选择的日期.谢谢!

最佳答案

尝试使用 CSS。 如果星期天是最后一列:

.v-datefield-calendarpanel-body  tr>td:last-child{
   pointer-events: none;
   color: red;
}

如果星期日列是第一列(在 vaadin 日期字段中第一列是隐藏的,因此星期日列是第二列):

.v-datefield-calendarpanel-body  tr>td:first-child + td{
   pointer-events: none;
   color: red;
}

关于vaadin - 如何在 DateField 上定义禁用日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26009736/

相关文章:

servlets - 在 Vaadin 7.6 中获取当前的 servlet 请求?

spring - 浏览器被重定向到 service-worker.js

java - 使用 ui 作为 View 的容器

java - 安装 Vaadin 后出现 NoClassDefFoundError

vaadin - 扩展表单布局看起来与插入表单布局不同

java - SmartGWT 和 Vaadin rtl 支持

java - 如何将 UnmodifyingSet 中的所有值添加到 ArrayList 中?

vaadin7 - 如何使用 Vaadin 7 预编译和附加小部件集构建单个 jar?

java - Vaadin 7 子窗口按钮

Java-Vaadin : NativeSelect setValue not working