JFace TreeViewer上的RowFilter

时间:2016-04-21 08:47:15

标签: jface rcp e4 rowfilter treeviewer

我有一个TreeViewer,如下所示: TreeViewer

我有一个文本字段来输入百分比值。假设输入的百分比是30%,我应该隐藏所有低于30%的行,并且只显示30%以上的行。我可以用于TreeViewer的行过滤器吗?如果提供一些例子会很棒。

我正在使用e4 RCP。我想进行基于视图的过滤,而不想更改模型。

1 个答案:

答案 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();

当树中的某些内容发生变化时,需要重新运行过滤器。