Vaadin容器。使用可变数量的标准进行筛选
刚刚实现了新容器。使用以下代码筛选:Vaadin容器。使用可变数量的标准进行筛选,vaadin,Vaadin,刚刚实现了新容器。使用以下代码筛选: Filter f = new Or(new SimpleStringFilter(Columns.SEARCH.id(), "rpm-diastolic", true, false), new Or(new SimpleStringFilter(Columns.SEARCH.id(), "rpm-systolic", true, false)), new Or(new SimpleStringFilter(Columns.SEARCH.id(), "
Filter f =
new Or(new SimpleStringFilter(Columns.SEARCH.id(), "rpm-diastolic", true, false),
new Or(new SimpleStringFilter(Columns.SEARCH.id(), "rpm-systolic", true, false)),
new Or(new SimpleStringFilter(Columns.SEARCH.id(), "rpm-weight", true, false))) ;
container.addContainerFilter(f);
而且效果很好
现在,为了通过动态构建过滤器来构建尽可能多的标准,我想使用以下方法:
List<String> filters;
for(String filter : filters) {
Filter f = new Or(new SimpleStringFilter(Columns.SEARCH.id(), filter, true, false) );
container.addContainerFilter(f);
}
列表过滤器;
用于(字符串筛选器:筛选器){
Filter f=new或(new SimpleStringFilter(Columns.SEARCH.id(),Filter,true,false));
容器。添加容器过滤器(f);
}
如果代码不起作用,我该怎么做…好的
我可以通过以下方式将数组传递给Or构造函数来实现这一点:
Filter[] filtersToAdd = new Filter[filters.size()];
for(String filterString : filters) {
filtersToAdd[i++] =
new Or(new SimpleStringFilter(Columns.SEARCH.id(), filterString, true, false));
}
Filter f = new Or(filtersToAdd);
container.addContainerFilter(f);
嗯
我可以通过以下方式将数组传递给Or构造函数来实现这一点:
Filter[] filtersToAdd = new Filter[filters.size()];
for(String filterString : filters) {
filtersToAdd[i++] =
new Or(new SimpleStringFilter(Columns.SEARCH.id(), filterString, true, false));
}
Filter f = new Or(filtersToAdd);
container.addContainerFilter(f);
我想在同一列上应用多个筛选器。它是否有效?我试过了,只有在应用了1个过滤器时才有效。我正在尝试将多个筛选器与
和(Container.filter…filters)
一起使用。我没有收到任何错误,但似乎当有更多筛选器时,容器没有得到筛选。我的代码与此相同,不同之处在于我使用了和而不是或和比较。Equal
而不是SimpleStringFilter
。我想对同一列上的多个值应用筛选器。[注意:在我的例子中,Between没有用处,因为我比较的内容中没有任何范围。]因此,我为同一列创建了多个过滤器,但每个过滤器中的值不同。[注意:我还使用Not
过滤器包装每个过滤器,因为我正在收集我不想显示的值。因为这些值与我想显示的值相比较少。]在这种情况下,您需要使用Or。。。否则将返回0个对象。如果您的列包含(猫、鼠标、狗),并且您使用和筛选,那么您的列将永远不会同时等于“狗”和“鼠标”…耶。我后来遇到了这个问题。现在我添加每个过滤器,每个过滤器都有不同的列值,分别使用循环。我的意思是,我只是简单地在循环中创建过滤器,并将其添加到可过滤容器中。但是我怎样才能用或实现这一点呢?我想隐藏所有这些特定值。如果您能告诉我们哪些代码是高效的,以及如何高效,这也会很有帮助。Thanxx。我想在同一列上应用多个筛选器。它是否有效?我试过了,只有在应用了1个过滤器时才有效。我正在尝试将多个筛选器与和(Container.filter…filters)
一起使用。我没有收到任何错误,但似乎当有更多筛选器时,容器没有得到筛选。我的代码与此相同,不同之处在于我使用了和而不是或和比较。Equal
而不是SimpleStringFilter
。我想对同一列上的多个值应用筛选器。[注意:在我的例子中,Between没有用处,因为我比较的内容中没有任何范围。]因此,我为同一列创建了多个过滤器,但每个过滤器中的值不同。[注意:我还使用Not
过滤器包装每个过滤器,因为我正在收集我不想显示的值。因为这些值与我想显示的值相比较少。]在这种情况下,您需要使用Or。。。否则将返回0个对象。如果您的列包含(猫、鼠标、狗),并且您使用和筛选,那么您的列将永远不会同时等于“狗”和“鼠标”…耶。我后来遇到了这个问题。现在我添加每个过滤器,每个过滤器都有不同的列值,分别使用循环。我的意思是,我只是简单地在循环中创建过滤器,并将其添加到可过滤容器中。但是我怎样才能用或实现这一点呢?我想隐藏所有这些特定值。如果您能告诉我们哪些代码是高效的,以及如何高效,这也会很有帮助。Thanxx。