2016-04-21 65 views
0

我有一个TreeViewer,如下所示: TreeViewerJFace TreeViewer上的RowFilter

我有一个文本字段输入百分比值。假设输入的百分比是30%,我应该隐藏所有低于30%的行,并且只显示高于30%的行。有没有可以用于我的TreeViewer的行过滤器?如果提供了一些示例,这将是非常好的。

我正在使用e4 RCP。我想要执行基于视图的过滤,并且不想更改模型。

回答

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

当东西需要过滤器树的变化重新运行。

+0

是的工作。我也有另一个问题,我已经描述为单独的问题。[link](http://stackoverflow.com/questions/36745388/java-swt-how-can-i-make-only-one-column-editable-在-的TreeViewer基础上,checkb/36750182#36750182)。我需要使用复选框从每个组中选择至少一个值,并且只有相应的行应该可编辑。你能告诉我怎么做吗? – anjalli