ich brauche auf einer TableView
eine Spalte zu zeigen, dass eine verschachtelte Bean ist wie folgt:JavaFX Table mit verschachtelten 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;
}
die All-Bean-Klasse hat die get, set und Eigenschaftsmethode. Mein Problem ist, dass A_Bean
eine Variable von B_Bean
Typ hat, und ich weiß nicht, wie man die tableColumn
, dass es das qwerty_B
Feld von B_Bean
Feld und nicht den Zeiger auf die qwerty
Variable von A_Bean
anzeigen muss.
@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());
}
Wenn, wenn mein Code ausführen ich auf dem tableColumn
etwas sehen werden wie [email protected]
Ich muss die tableColumn
sagen, dass es das qwerty_B
Feld aus der A_Bean
holen müssen. Wie kann ich das machen?
Ich hätte erwartet, dass 'xx.B_Bean @ hashcode' zu sehen, nicht' xx.A_Bean @ Hashcode' ... bist du sicher, dass du das siehst? –
Ja, ich habe einen Tippfehler gemacht, es ist 'xx.B_Bean @ 1234dasf23'. Irgendein Vorschlag für die Lösung des Problems? –