мне нужно, чтобы показать на TableView
столбец, вложенная боб, как это:JavaFX TableColumn с вложенным Bean
public class A_Bean {
private ObjectProperty<BigDecimal> id;
private B_Bean qwerty;
}
public class B_Bean {
private ObjectProperty<BigDecimal> id;
private StringProperty qwerty_B;
}
Все класс боба имеет получение, установку и метод свойства. Моя проблема заключается в том, чтоимеет переменную типа B_Bean
, и я не знаю, как сообщить tableColumn
, что он должен отображать поле qwerty_B
B_Bean
, а не указатель на переменную qwerty
A_Bean
.
@FXML
private TableView<A_Bean> myTable;
@FXML
private TableColumn<A_Bean, BigDecimal> idColumn;
@FXML
private TableColumn<A_Bean, B_Bean> qwertyColumn;
.....
@FXML
private void initialize() {
idColumn.setCellValueFactory(cellData -> cellData.getValue().idProperty());
qwertyColumn.setCellValueFactory(cellData -> cellData.getValue().qwertyProperty());
.....
}
public void setMainApp(MainApp mainApp) {
this.mainApp = mainApp;
myTable.setItems(mainApp.getA_BeanData());
}
Если при запуске моего кода я буду видеть на tableColumn
что-то вроде [email protected]
мне нужно сказать к tableColumn
, что он должен принести qwerty_B
поля из A_Bean
. Как я могу это сделать?
я бы ожидал увидеть 'xx.B_Bean @ hashcode', а не' xx.A_Bean @ hashcode' ... вы уверены, что это то, что вы видите? –
Да, я сделал опечатку, это 'xx.B_Bean @ 1234dasf23'. Любое предложение для решения проблемы? –