我有一个TreeViewer,如下所示: 。
我有一个文本字段来输入百分比值。假设输入的百分比是30%,我应该隐藏所有低于30%的行,并且只显示30%以上的行。我可以用于TreeViewer的行过滤器吗?如果提供一些例子会很棒。
我正在使用e4 RCP。我想进行基于视图的过滤,而不想更改模型。
答案 0 :(得分:2)
您使用扩展ViewFilter
的类来过滤树查看器中的行。
要在ViewFilter
中覆盖的主要方法是select
方法:
@Override
public boolean select(Viewer viewer, Object parentElement, Object element)
这里给出了被考虑的对象(element
)及其父级和查看者。您返回true
以继续显示元素,并false
隐藏它。
如果需要,您可以激活多个过滤器,使用以下命令在树查看器中设置:
treeViewer.setFilters(array of view filters);
您可能需要致电
treeViewer.filter();
当树中的某些内容发生变化时,需要重新运行过滤器。