我正在Vaadin 7做一个项目。我需要为Treet能够实现过滤器。
我在为一个值应用过滤器时非常成功。我的意思是,我有4个Comboboxex'c1','c2','c3','c4'和一个Treetable'TT'。我使用HierarchicalContainer'HC'将值加载到'TT'。
我使用ValueChangeListener&amp ;;为所有这些组合框实现了过滤器。 addContainerFilter()。当我从'C1'中选择一个值时,它会成功过滤并在'TT'中相应地显示行。然后,当我从'c2'中选择一个值时。它只是忽略'c1'设置的过滤器,并根据'c2'设置的值过滤值,其余过滤器也一样。
我需要的是,当我在Comboboxex'C1'和'中设置值时“C2”树表“TT”应根据“c1”和“c1”中的值显示行。 'C2'。
filterlogic = c1 AND c2 (Correct)
不是
filterlogic = c1 OR c2 (Wrong)
我尝试了很多,我研究了很多代码。但是,无法完成它。任何帮助表示赞赏。!
答案 0 :(得分:1)
我在使用vaadin 6的项目中做了同样的工作,在每个组合框中“在valueChangeListener中”你需要执行查询,你必须传递从C1,C2等获得的字符串,如果它只有C1然后传递空字符串在其他参数中,它们将代表C2,C3等.....它会正常工作。
PS:在查询中使用“like”而不是=来获得所需的输出