# TableCell aus TableView holen



## fastforward (24. Nov 2016)

Hallo,
ich bin dabei, einen Exporter für Javafx-Tableviews zu schreiben.
Dazu müsste ich die TableCell über die Position innerhalb der Tableview holen, um so auf den Inhalt zu kommen (nicht über getCellData, dort wird mir ja die gesamte Bean angezeigt). Ich möchte tatsächlich auf die TableCell, wie sie von der cellFactory erstellt wird, über einen Column/Row Index zugreifen. Hat jemand einen Tip?
Vielen Dank!
Wilhelm


----------



## thet1983 (24. Nov 2016)

TablePosition schon versucht?


----------



## Thallius (24. Nov 2016)

Sowas macht man nicht. Dafür gibt es ja schließlich die strikte trennung zwischen View (Table) und Model (Daten)

Man holt sich keine Daten aus der Tabelle sondern aus deren Model.


----------



## fastforward (24. Nov 2016)

Ich weiß schon das man das nicht macht, aber ich hab unzählige verschiedene Tableviews in der Anwendung, die ich gerne über eine einzige Factory einfach nach Excel exportieren will.
Dazu würd's reichen, an die Factory die tableview zu übergeben, und dann, wenn die jeweilige Cell eine Textfieldtablecell oder ein label sind, den Text ins betreffende ExcelFeld zu schreiben.
Das Problem liegt darin, das ich meist relativ aufwendige cellFactorys hab (wegen der Formatierung)....


----------



## dzim (24. Nov 2016)

Es gibt keinen direkten Weg and die TableCell-Instanz zu kommen, dafür gibt es die Callbacks zu deinen Custom-Cells, wenn du es brauchst.

Beispiel:
http://stackoverflow.com/questions/21988598/how-to-get-selected-tablecell-in-javafx-tableview

Und bitte nimm die Notiz des Fragestellers zu Herzen:


> EDIT: For future readers: DO NOT mess with TableCell objects, except in cell factory. Use the TableView the way designers intended, or you will be in lot of trouble. If you need data from multiple sources in single table, it is better to make a new class that aggregates all the data and use that as a TableView source.


----------



## dzim (24. Nov 2016)

Oh. Etwas zu lange mit der Antwort gewartet.


----------



## dzim (24. Nov 2016)

Eine Frage: Jede deiner Tables wird doch ein dahinerstehendes Modell haben. Warum exportierst du nicht einfach dieses???


----------



## fastforward (24. Nov 2016)

Ich möchte nicht das Datenmodell verwenden, weil ich ansonsten die komplette Formatierung für die Tablecell nochmal in der Excel-Export-Methode abbilden müsste. -> eine eigene Methode für jede TableView :-(


----------



## dzim (24. Nov 2016)

Sorry, aber es bleibt dabei: Es gibt keine andere sinnvolle Möglichkeit, als das bestehende Modell - auch wenn es mehrere TableViews sind - separat zu transformieren.


----------

