Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vaadin容器。使用可变数量的标准进行筛选_Vaadin - Fatal编程技术网

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。