【问题标题】:Column date filtering in vaadin not workingvaadin中的列日期过滤不起作用
【发布时间】:2016-06-16 13:09:39
【问题描述】:

我的日期过滤有问题。 表格中的其他列正在过滤,但日期列没有。

这是一个过滤器的例子,我有一个用于过滤所有列的搜索框:

filter = new Or(new Like("NumberOf", "%"+tfGlobalSearch.getValue().toString()+"%", false), 
                new Like ("Type","%"+tfGlobalSearch.getValue().toString()+"%", false),
                new Like("Date created", "%"+tfGlobalSearch.getValue().toString()+"%", false)                                                   
                                );
f.addContainerFilter(filter);

日期格式为:09.06.2016 14:52:57,当我输入例如“09”时。并搜索它,它根本不过滤。

我不知道问题出在哪里:/

【问题讨论】:

  • Like 过滤器仅适用于 String 类型的属性。 “创建日期”属性的类型是什么?
  • @A. Meier - 它的 java.util.date 格式,当我为日期添加新的 SimpleStringFilter 时,它只过滤数字。如果我输入例如“09.06”,则过滤不正确。看起来 ”。”出问题
  • 您需要覆盖属性/列 toString 方法以 09.06.2016 14:52:57 格式返回日期

标签: java hibernate vaadin vaadin7


【解决方案1】:

我建议你编写自己的 DateFilter(实现 Container.Filter)。在那里,您将日期的字符串表示与您初始化过滤器的模式进行比较。它基本上是 Like 过滤器实现的一种变体。

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多