Tabelle: "Blinde" Felder und mehr

Status
Nicht offen für weitere Antworten.

akb

Mitglied
Hallöle,

hat jemand einen Tipp, wie ich in einer Tabelle blinde Felder, also nicht sichtbare, integrieren könnte?
Wenn ich meine Tabelle mit

Code:
JTable table = new JTable( rowData, columnNames );

mit den Daten des Arrays rowData fülle, dann müsste in diesem Array ein Feld eine eindeutige ID übertragen (nicht für sich selbst, sondern eine ID des Datensatzes, welche die jeweilige Zeile mit sich trägt). Diese ID möchte ich jedoch nicht in der Tabelle sehen, sondern lediglich bei einem Event der betroffenen Tabellenzeile auslesen und verwerten können. Also beispielsweise bei Klick auf meineZeile meineFunktion(ID_des_Datensatzes) aufrufen. Hat dazu jemand eine Idee?

Und wo ich schon einmal beim Thema Tabellen bin... kann ich irgendwie unterbinden, dass leere Zeilen angezeigt werden? Wenn mein Array 50 Zeilen lang ist, aber nur 12 davon gefüllt, so werden ja trotzdem die vollen 50 Zeilen angezeigt...

Man schlage mich für mein Anfängertum, aber ich steh dazu 🙂 Hoff mal, Ihr könnt mir da weiterhelfen 🙂
 
1. http://www.java-forum.org/de/viewtopic.php?p=136906#136906
Um den Wert einer unsichtbaren Spalte zu holen schaltest du sie einfach zeitweilig sichtbar. Z.B. für Spalte 3:
Code:
                       modell.setSichtbareSpalten(3, true);
                        System.out.println(modell.getValueAt(0,3));
                        modell.setSichtbareSpalten(3, false);
Bei mir sieht man kein Flackern. Falls das doch der Fall ist, kann man den fireTableStructureChanged
aus setSichtbareSpalten rausnehmen. Dann ruft man eben zusätzlich modell.fireTableStructureChanged() auf,
ausser im vorliegenden Fall.

2. ((DefaultTableModel)table.getModel()).setRowCount(12);
 
hm... das ist zwar das was ich suche, aber ja komplizierter als ich dachte :-/ werd mal gucken wie ich das löse. hast du vielleicht noch eine andere idee, wie ich diese ID mit verwalten könnte?
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben