我的问题是我想使用一个集合类型new PropertyValueFactory<,>()
TableColumn columnname = new TableColumn("Nom");
columnname.setCellValueFactory(new PropertyValueFactory<NoteBean, List>("name"));
因为我的 NoteBean 包含一个集合(List)类型的字段。
谢谢 ;)。
我的问题是我想使用一个集合类型new PropertyValueFactory<,>()
TableColumn columnname = new TableColumn("Nom");
columnname.setCellValueFactory(new PropertyValueFactory<NoteBean, List>("name"));
因为我的 NoteBean 包含一个集合(List)类型的字段。
谢谢 ;)。
我的问题的解决方案是使用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;
}
});