0

我的问题是我想使用一个集合类型new PropertyValueFactory<,>()

TableColumn columnname = new TableColumn("Nom");
columnname.setCellValueFactory(new PropertyValueFactory<NoteBean, List>("name"));

因为我的 NoteBean 包含一个集合(List)类型的字段。

谢谢 ;)。

4

1 回答 1

0

我的问题的解决方案是使用forwhile 使用以下代码解析集合:

    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;
                        }
                    });

属性值工厂

于 2013-08-03T13:24:58.293 回答