显示TreeTableView我有两个类:如何与T对象的列表作为子项目
Project Employee Jobtitle
------------------------- ------------------- ----------------------
name: String firstname: String title: String
employees: List<Employee> jobtitle: Jobtitle hourlyWage: BigDecimal
birthday: Date
如何显示在如下所示的treetable中编辑值?:
Name fName Title Birthday
------------------------------------------
-Project A
-Tom Programmer 09-12-1980
-Peter Accountant 03-04-1970
-Project B
-Project D
我编程以下目前为止。如何添加列的员工,因为员工是一个列表?:
TreeItem<Project> root
= new TreeItem<>(new Project("Root", null));
for (Project project : projectData) {
root.getChildren().add(new TreeItem<>(project));
}
TreeTableColumn<Project, String> projectCol
= new TreeTableColumn<>("Projects");
projectCol.setCellValueFactory((cellData) -> cellData.getValue()
.getValue().nameProperty());
//Now how can I add columns for Employee?
//TreeTableColumn<Project, String> projectCol
// = new TreeTableColumn<>("Firstname");
//projectCol.setCellValueFactory((cellData) -> cellData.getValue()
// .getValue().employeesProperty()...?);
TreeTableView<Project> treeTable = new TreeTableView<>(root);
treeTable.getColumns().add(projectCol);
的数据来自ObservableLists与我硬编码值(后来,我将使用JPA获取数据双向关系,即这样你就可以得到项目从员工和其他方面)。
private final ObservableList<Jobtitle> jobtitleData
= FXCollections.observableArrayList(
new Jobtitle("Programer", 60),
new Jobtitle("Accountant", 70));
private final ObservableList<Person> employeeData
= FXCollections.observableArrayList(
new Person("Jacob", jobtitleData.get(0), new Date()),
new Person("Peter", jobtitleData.get(1), new Date()),);
private final ObservableList<Project> projectData
= FXCollections.observableArrayList(
new Project("Projekt A", employeeData),
new Project("Projekt B", employeeData));
我读过tutorial by Oracle,但他们只是涵盖基本类型。
你的问题是什么? – talex 2014-09-25 12:18:04
@talex我将问题标记为粗体。 – haisi 2014-09-25 12:26:44