diff options
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/view')
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java index 2ae8405..27f85c9 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java @@ -92,14 +92,26 @@ public class AnsprechpartnerListeController }); organisationsNameTableColumn.setCellValueFactory((data) -> { - data.getValue().getOrganisation().nameProperty() - .addListener((listener) -> { - // Hack, aktualisiert TableView, da Organisation kein Observable + data.getValue().organisationProperty().addListener((listener) -> { + // Hack, aktualisiert TableView, da Organisation kein + // Observable // ist organisationsNameTableColumn.setVisible(false); organisationsNameTableColumn.setVisible(true); }); - return new SimpleObjectProperty<>(data.getValue().getOrganisation()); + if (data.getValue().getOrganisation() != null) + { + data.getValue().getOrganisation().nameProperty() + .addListener((listener) -> { + // Hack, aktualisiert TableView, da Organisation kein + // Observable + // ist + organisationsNameTableColumn.setVisible(false); + organisationsNameTableColumn.setVisible(true); + }); + return data.getValue().organisationProperty(); + } + return new SimpleObjectProperty<Organisation>(new Organisation()); }); organisationsNameTableColumn.setOnEditCommit((data) -> { data.getRowValue().setOrganisation(data.getNewValue()); @@ -203,8 +215,14 @@ public class AnsprechpartnerListeController if (result == null || result.get() == ButtonType.OK) { - main.getAnsprechpartner() - .removeAll(selectedItem.getAnsprechpartner()); + Ansprechpartner[] ansArray = selectedItem.getAnsprechpartner() + .toArray(new Ansprechpartner[selectedItem + .getAnsprechpartner().size()]); + for (Ansprechpartner ans : ansArray) + { + ans.setOrganisation(null); + } + main.getOrganisation().remove(organisationComboBox.getValue()); } } @@ -222,7 +240,7 @@ public class AnsprechpartnerListeController if (selectedItem != null) { - selectedItem.getOrganisation().removeAnsprechpartner(selectedItem); + selectedItem.setOrganisation(null); main.getAnsprechpartner().remove(selectedItem); } } |
