2016-06-22 12 views
1

Ich habe eine Vaadin window1, die eine ComboBox von Elementen aus der Datenbank enthält. Wenn ich einen Artikel dieses ComboBox auswähle, habe ich ein window2, das erscheint. Diese window2 gibt mir die Möglichkeit, Daten in der Datenbank hinzuzufügen. Jetzt möchte ich den neuen Artikel in meinem ComboBox in window1 nach dem Schließen window2 sehen. Haben Sie eine Idee, wie Sie das erreichen können?Update Combobox in Fenster 1 nach der Aktualisierung von window2 Vaadin

+1

Wie erfolgt die Datenbindung von der Datenbank an die Vaadin-Komponente (n)? Abhängig von der Datenbindung können Sie einige refreshEvents auslösen oder manuell tun –

+0

So erstelle ich meine Combobox: phaseStatus = new ComboBox ("Phase Status"); \t \t phaseStatus.setWidth ("250px"); \t \t phaseStatus.setImmediate (true); \t \t phaseStatusItem = securityAssessmentPhaseStatusRepository.findAll(); \t \t für (SecurityAssessmentPhaseStatus m: phaseStatusItem) { \t \t \t phaseStatus.addItem (m.getOid()); \t \t \t phaseStatus.setItemCaption (m.getOid(), m.getStatusName()); \t \t} – FoufaFaFa

Antwort

0

Sie müssen die Container-Datenquelle aktualisieren. In meinem Fall hatte ich eine JPAContainer, die eine Methode hat, siehe documentation. Wenn Sie SQLContainer verwenden, dann werfen Sie einen Blick auf seine documentation.

Wenn Sie keinen speziellen Container außer der ComboBox Methode addItem verwenden, sollten Sie removeAllItems aufrufen und die neuen Elemente hinzufügen (indem Sie die DB-Abfrage erneut ausführen).

+0

So erstelle ich meine Combobox: phaseStatus = new ComboBox ("Phase Status"); phaseStatus.setWidth ("250px"); phaseStatus.setImmediate (true); phaseStatusItem = securityAssessmentPhaseStatusRepository.findAll(); für (SecurityAssessmentPhaseStatus m: phaseStatusItem) {phaseStatus.addItem (m.getOid()); phaseStatus.setItemCaption (m.getOid(), m.getStatusName()); } - – FoufaFaFa

+0

Nun, dann müssen Sie alte Elemente entfernen und die neuen Elemente zu "ComboBox" hinzufügen. Ich werde meine Antwort anpassen. –

+0

vielen Dank – FoufaFaFa