【问题标题】:RowFilter on JFace TreeViewerJFace TreeViewer 上的 RowFilter
【发布时间】:2016-08-14 08:18:05
【问题描述】:

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

我有一个文本字段来输入百分比值。假设输入的百分比是 30%,我应该隐藏所有低于 30% 的行,只显示高于 30% 的行。是否有任何行过滤器可用于我的 TreeViewer?如果能提供一些例子就好了。

我正在使用 e4 RCP。我想做基于视图的过滤,不想改变模型。

【问题讨论】:

    标签: jface rcp e4 rowfilter treeviewer


    【解决方案1】:

    您使用扩展 ViewFilter 的类来过滤树查看器中的行。 在ViewFilter 中覆盖的主要方法是select 方法:

    @Override
    public boolean select(Viewer viewer, Object parentElement, Object element)
    

    在这里,您将看到正在考虑的对象 (element) 及其父对象和查看器。您返回 true 以继续显示该元素并返回 false 以隐藏它。

    如果需要,您可以激活多个过滤器,使用以下方法在树查看器中设置它们:

    treeViewer.setFilters(array of view filters);
    

    您可能需要致电

    treeViewer.filter();
    

    当树中的某些变化需要重新运行过滤器时。

    【讨论】:

    • 是的,有效。我还有另一个问题,我将其描述为单独的问题。[链接] (stackoverflow.com/questions/36745388/…)。我需要使用复选框从每个组中选择至少一个值,并且只有相应的行应该变为可编辑的。你能建议我怎么做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多