【问题标题】:Wondering how to set filters in Vaadin's "TableQuery"想知道如何在 Vaadin 的“TableQuery”中设置过滤器
【发布时间】:2015-07-20 14:05:50
【问题描述】:

我在 Vaadin 中创建了一个数据库连接。在我构建了 JDBCConnectionPool 之后,我创建了一个像这样的 TableQuery:

            TableQuery tq = new TableQuery("STRING", pool, new OracleGenerator());

但是,这非常成功,因为我能够获得适当的实体(查询返回整个表)。

问题是我想过滤这个查询。我对有关此主题的文档感到非常失望。 TableQuery.setFilters() 方法的 javadoc 指出,我们需要一个包含过滤器的 List。

到目前为止我的方法:

            List<Filter> filter = new ArrayList<Filter>();
            filter.add(new Equal("SURNAME", "SMITH"));
            tq.setFilters(filter);

这没有任何作用。它甚至不会引发异常。代码就像没有上面提到的块一样工作。

有人有意见吗?

【问题讨论】:

    标签: java data-binding filter database-connection vaadin


    【解决方案1】:

    抱歉,这很容易。我只是误解了这个概念。您必须过滤容器。

    像这样:

                // tq is the TableQuery (see code snippet provided in the question)
                SQLContainer container = new SQLContainer(tq);
                container.addContainerFilter(new Equal("SURNAME", "SMITH"));
    

    可能会帮助某人避免这个“陷阱”;P

    【讨论】:

      猜你喜欢
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 2017-07-17
      相关资源
      最近更新 更多