Hallo zusammen,
die Titelzeile klingt vielleicht etwas kryptisch, daher hier noch Mal erläutert
Ich habe eine editierbare TableView mit 3 Spalten. In diesen drei Spalten existieren zwei String-Propertys und eine Choice-Box.
Ich bekomme auch alles angezeigt und bekomme auch die Werte der Choice-Box. So weit so gut. Jetzt wird es aber interessant.
Wenn ich nun z.B. 5 Zeilen habe und der Anwender wählt in der 3. Zeile in der Choice-Box einen Eintrag aus, möchte ich darauf reagieren (onAction-Event der Choice-Box) und in der Zeile, wo die Choice-Box enthalten ist, einen Wert in Spalte 2 oder 3 abfragen bzw. eintragen.
Jetzt stellt sich mir die spannende Frage, wie ich denn raus finden kann, in welcher Tabellenzeile das Ereignis ausgelöst wurde...?
Bei einer Checkbox wird das Edit-Event verwendet, was wiederum über event.getTablePosition.getRow.get die Möglichkeit bietet, auf das Datenobjekt der x-ten Zeile zuzugreifen.
Blöderweise kennt das ActionEvent diese Vorgehensweise nicht. Und die ChoiceBox wird ja auch nicht editiert, daher bringt mir das Edit-Event hier nichts. Oder doch...?
Eine ganze dirty Möglichkeit wäre natürlich, im Objekt der ChoiceBox vom Typ xyz einen weiteren Parameter mitzugeben und dort die Zeilennummer zu speichern. Das halte ich allerdings für sehr unsauber und bin mir relativ sicher, dass es da einen eleganteren Weg geben muss.
Zur Veranschaulichung hier ein Screen-Shot was ich meine:
Der Anwender hat nun in diesem Fall die erste Zeile "geändert", indem anstatt "Kopfzeile" der Eintrag "Hauptbereich" ausgewählt wurde. Jetzt möchte ich wissen, in welcher Zeile das war, um hinten die Checkbox abzuprüfen, da eine Kombination Kopfbereich und markierte Checkbox nicht zulässig sein soll.
Ich hoffe, ich habe mich verständlich ausgedrückt
Danke für eure Hilfe
die Titelzeile klingt vielleicht etwas kryptisch, daher hier noch Mal erläutert
Ich habe eine editierbare TableView mit 3 Spalten. In diesen drei Spalten existieren zwei String-Propertys und eine Choice-Box.
Ich bekomme auch alles angezeigt und bekomme auch die Werte der Choice-Box. So weit so gut. Jetzt wird es aber interessant.
Wenn ich nun z.B. 5 Zeilen habe und der Anwender wählt in der 3. Zeile in der Choice-Box einen Eintrag aus, möchte ich darauf reagieren (onAction-Event der Choice-Box) und in der Zeile, wo die Choice-Box enthalten ist, einen Wert in Spalte 2 oder 3 abfragen bzw. eintragen.
Jetzt stellt sich mir die spannende Frage, wie ich denn raus finden kann, in welcher Tabellenzeile das Ereignis ausgelöst wurde...?
Bei einer Checkbox wird das Edit-Event verwendet, was wiederum über event.getTablePosition.getRow.get die Möglichkeit bietet, auf das Datenobjekt der x-ten Zeile zuzugreifen.
Blöderweise kennt das ActionEvent diese Vorgehensweise nicht. Und die ChoiceBox wird ja auch nicht editiert, daher bringt mir das Edit-Event hier nichts. Oder doch...?
Eine ganze dirty Möglichkeit wäre natürlich, im Objekt der ChoiceBox vom Typ xyz einen weiteren Parameter mitzugeben und dort die Zeilennummer zu speichern. Das halte ich allerdings für sehr unsauber und bin mir relativ sicher, dass es da einen eleganteren Weg geben muss.
Zur Veranschaulichung hier ein Screen-Shot was ich meine:
Der Anwender hat nun in diesem Fall die erste Zeile "geändert", indem anstatt "Kopfzeile" der Eintrag "Hauptbereich" ausgewählt wurde. Jetzt möchte ich wissen, in welcher Zeile das war, um hinten die Checkbox abzuprüfen, da eine Kombination Kopfbereich und markierte Checkbox nicht zulässig sein soll.
Ich hoffe, ich habe mich verständlich ausgedrückt
Danke für eure Hilfe