0

I have a JFace TreeViewer with four TreeColumn. I added a ViewerFilter class into my Tree and Filter by a search text. The problem is it's only filtering the TreeParent and not working on TreeChildren.

For example:

A
 A1
 A2
   A2.1
   A2.2
B
C

Result for searchtext = "A" is only A without children.

Result for searchtext = "A1" is nothing.

Result for searchtext = "A2.1" is nothing also.

My code:

    @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;
    }
Baz
  • 36,440
  • 11
  • 68
  • 94
gamo
  • 1,549
  • 7
  • 24
  • 36

0 Answers0