TreeViewer上的ViewerFilter

时间:2014-10-27 10:08:07

标签: java swt jface treeviewer

我有一个带有四个TreeColumn的JFace TreeViewer。我通过搜索文本在我的Tree和Filter中添加了一个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;
    }

0 个答案:

没有答案