I have a treetableview that i am using to display list of employees with organisation as root item. Now i want to group tree items based on the department they work in. For example: currently i am displaying as mentioned below:
However i would like to have something as mentioned below i.e., the employees grouped by their department, keeping in the view that employee name and department are part of same object Employee.java:
Here is the solution you should use:
Instead of Object
use your model.
TreeTableView<Object> treeTableView = new TreeTableView<>();
TreeItem<Object> root = new TreeItem<>();
// if you need more roots you can disable the root and use the first level children as roots otherwise ignore this line.
treeTableView.setShowRoot(false);
treeTableView.setRoot(root);
// first level children
TreeItem<Object> firstLevelChild1 = new TreeItem<>();
TreeItem<Object> firstLevelChild2 = new TreeItem<>();
root.getChildren().add(firstLevelChild1);
root.getChildren().add(firstLevelChild2);
// second level children
TreeItem<Object> secondLevelChild1 = new TreeItem<>();
TreeItem<Object> secondLevelChild2 = new TreeItem<>();
firstLevelChild1.getChildren().add(secondLevelChild1);
firstLevelChild2.getChildren().add(secondLevelChild2);
// third level children
TreeItem<Object> thirdLevelChild1 = new TreeItem<>();
TreeItem<Object> thirdLevelChild2 = new TreeItem<>();
secondLevelChild2.getChildren().add(thirdLevelChild1);
secondLevelChild2.getChildren().add(thirdLevelChild2);
// .... and so on you can define as many levels you want