java - 在 FilteredTree 中搜索 "hidden Data"

标签 java eclipse filter tree

我如何在 Filtered-TreeView 中搜索“隐藏”数据。到目前为止,我只能搜索 TreeItem 的名称并过滤它们。现在我想搜索存储在 TreeObjects 中的数据。 我应该在哪里附加我想要搜索的字符串?

我尝试变得更详细:

我有一个:

    class TreeObject implements IAdaptable {
    protected String name;
    protected String Data;
    private TreeParent parent; ....

现在我想搜索它

    protected String Data;

我怎样才能访问: -TreeObject -过滤 TreeView 的文本字段文本

在这里您可以看到可以覆盖的方法的图片: No SELECT Functiobn here

这是我使用另一种过滤器类型时得到的结果:

This is what I get

最佳答案

您必须覆盖 ViewerFilterselect 方法您在 FilteredTree 中设置的。来自 select 的 Javadoc:

Returns whether the given element makes it through this filter.

因此,在您的实现中,您可以检查对象的字段并决定是否应将其过滤掉。

示例(不知道是否可以编译)

    TreeViewer viewer = filteredTree.getViewer();
    viewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            if (element instanceof TreeObject && filterString != null && !filterString.isEmpty()) {
                TreeObject obj = (TreeObject) element;
                String data = obj.getData().toLowerCase(); // Your Data field!
                return data.startsWith(filterString.toLowerCase());
            }
            return true;
        }
    });

关于java - 在 FilteredTree 中搜索 "hidden Data",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767590/

相关文章:

java - 在 JBOSS 5.1.1 中获取部署异常

java - Eclipse 更改了 BPMN2 的现有语法

asp.net-web-api - 有没有办法通过属性而不是注入(inject)来使用 AutoFac Web Api 授权过滤器?

java - 如何使用 Maven 复制文件并将第一个模块指定为目标文件夹?

java - 如何使用itext pdf在页面pdf中插入值

java - 无法捕获 IOException

java - JVM PermGen OOM 即使尚未达到 Max

android - 放弃支持库 v7。我做错了什么?

apache-flex - 弹性 : Filter HierarchicalData child rows

git - 使用 meld 作为 diff 工具时查看 git 过滤器输出