# ID des Datensatzes aus JTable holen (nicht Index!)



## nadir (19. Sep 2006)

Hallo,

ich befülle eine JTable mit Daten aus einer Datenbank. In der Tabelle gibt es auch die Spalte ID, die als PrimaryKey dient. Diese ID möchte ich ungern in meiner JTable ausgeben. 

Wenn nun eine Änderung in der JTable (in einer Zelle) erfolgt, woher bekomme ich dann die eigentliche ID des Datensatzes ? Für den Anfang kann man die ID aus dem Index der gewählten Zeile entnehmen, doch wenn dann erst mal Zeilen gelöscht worden sind, geht das ja nicht mehr. Andere Spalten kann ich für die WHERE-Bedingung schlecht nehmen. 

Vielleicht stehe ich echt vor dem Wald, aber ich finde keine passende Lösung, außer die, daß ich eben die ID mit angebe (als Spalte in der JTable).

Würde mich freuen, wenn mir jemand auf die Sprünge helfen könnte.

Vielen Dank schon mal!

Nadir.


----------



## foobar (19. Sep 2006)

Du mußt die ID in der JTable doch nicht ausgeben? Gib in der getValueAt-Methode doch nur die Werte zurück die dich interessieren.


----------



## nadir (19. Sep 2006)

Du meinst mit TableModel.getValueAt(zeile, spalte) ? 

Ich hatte da bis jetzt die Erfahrung, daß ich nur die Spalten ansprechen kann, die auch in der JTable angezeigt werden. Oder habe ich da einfach was übersehen ?

EDIT: Anscheinend hatte ich die ganze Zeit Tomaten auf den Augen, geht doch mit dem getValueAt(). In meinem TableCellRenderer habe ich immer nur auf die Tabelle an sich zugegriffen und nicht daran gedacht, daß es ja auch noch das Model gibt. 

Wer denken kann, ist klar im Vorteil....

Nadir.


----------



## SlaterB (19. Sep 2006)

du brauchst ein eigenes TableModel,
dann kannst du alles so machen wie du willst,

z.B. von einem Daten-Array ein paar Spalten anzeigen (mit der normalen Operation getValueAt) 
und andere Spalten für andere Programme zugänglich machen, 
z.B. mit einer anderen Operation getValue


----------



## nadir (19. Sep 2006)

TableModel habe ich schon, ich habs einfach nur verdrängt. 

Dennoch danke für die Antworten, haben mich zum besseren Hinsehen bewegt.


----------

