0

我有一个带有四个 TreeColumn 的 JFace TreeViewer。我在树中添加了一个 ViewerFilter 类,并通过搜索文本进行过滤。问题是它只过滤 TreeParent 而不是在 TreeChildren 上工作。

例如:

A
 A1
 A2
   A2.1
   A2.2
B
C

searchtext = "A" 的结果只有 A 没有孩子。

searchtext = "A1" 的结果是什么。

searchtext = "A2.1" 的结果也没什么。

我的代码:

    @Override
    public boolean select(Viewer viewer, Object parentElement, Object element) {
        boolean result = true;
        if (text != null && text.length() > 0) {
            TreeTableObject object = ((TreeTableObject) element).getChild();
            String personText = object.toString().toLowerCase();
            System.out.println("Text: " + text.toLowerCase());
            System.out.println("Filter text: " + personText);
            result = personText.indexOf(text.toLowerCase()) != -1;
        }
        return result;
    }
4

0 回答 0