我的问题是我想使用带有new PropertyValueFactory<,>()
TableColumn columnname = new TableColumn("Nom");
columnname.setCellValueFactory(new PropertyValueFactory<NoteBean, List>("name"));
因为我的NoteBean包含一个类型为collection(List)的字段。
谢谢;)。
答案 0 :(得分:0)
我的问题的解决方案是使用以下代码使用for
或while
解析集合:
TableColumn<Person,String> firstNameCol = new TableColumn<Person,String>("First Name");
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
return p.getValue().firstNameProperty();
}
});
}
例如:
TableColumn columnmod = new TableColumn<ModuleNoteBean, Double>(
moBean.getModuleBean());
for (int i = 0; i < moBean.getListmat().size(); i++) {
TableColumn columnNote = new TableColumn(moBean.getList_mat()
.get(i));
final int index = i;
columnNote
.setCellValueFactory(new Callback<CellDataFeatures<ModuleNoteBean, String>, ObservableValue<String>>() {
public ObservableValue<String> call(
CellDataFeatures<ModuleNoteBean, String> p) {
SimpleStringProperty b = new SimpleStringProperty(p
.getValue().getModuleNList().get(0)
.getNoteList().get(index)
+ "");
return b;
}
});