Hi,
ich habe in meinem Programm eine JTable mit sortfunktion
das Funktioniert....
in meiner Tabelle habe ich aber Daten, die sichtbar sein sollen... und Daten, die unsichtbar sein sollen.
durch einen Button kann man eine Datei öffnen, die man ausgewählt hat...
zum öffnen selber braucht man aber die unsichtbare Daten.
Beispiel:
Spalte 1: Dateiname (sichtbar)
Spalte 2: irgendne Beschreibung (sichtbar)
Spalte 3: Pfad zur Datei (unsichtbar)
jetzt gibt es 2 Möglichkeiten, wie ich momentan die Spalte 3 verstecke.
1. in meinem MyTableModel einfach die zu versteckende Column weg lassen... und die Daten im Data-Array einfach eintragen.
2. die Column durch benennen und danach entfernen...
mit table.getValueAt(x,y) bekomme ich eine IndexoutofArray-exeption da er die versteckten Columns nicht mitzählt und eben weg lässt...
mit table.getModel()[column] bekomme ich nur die unsortierten Daten... (logisch...)
mit sorter.getModel().getValueAt() bekomme ich auch nur die unsortierten...-.-
Habe mir 2 Notlösungen ausgedacht:
1. ich schreib vorne in die erste Spalte sichtbar eine ID 1-n rein, und greife dann auf das Datamodel zu und mache Data[ID][spaltennummer]...
2. ich mach die unsichtbare Spalte sichtbar, ganz klein und nicht resizeable... so hat man aber im Header einen blöden Klotz....
ich habe in meinem Programm eine JTable mit sortfunktion
Code:
sorter = new TableRowSorter<MyTableModel>(model );
table = new JTable(model );
table.setRowSorter(sorter );
in meiner Tabelle habe ich aber Daten, die sichtbar sein sollen... und Daten, die unsichtbar sein sollen.
durch einen Button kann man eine Datei öffnen, die man ausgewählt hat...
zum öffnen selber braucht man aber die unsichtbare Daten.
Beispiel:
Spalte 1: Dateiname (sichtbar)
Spalte 2: irgendne Beschreibung (sichtbar)
Spalte 3: Pfad zur Datei (unsichtbar)
jetzt gibt es 2 Möglichkeiten, wie ich momentan die Spalte 3 verstecke.
1. in meinem MyTableModel einfach die zu versteckende Column weg lassen... und die Daten im Data-Array einfach eintragen.
2. die Column durch benennen und danach entfernen...
Code:
TableColumnModel columnModel = header.getColumnModel();
TableColumn column = columnModel.getColumn(10 );
columnModel.removeColumn(column );
mit table.getValueAt(x,y) bekomme ich eine IndexoutofArray-exeption da er die versteckten Columns nicht mitzählt und eben weg lässt...
mit table.getModel()[column] bekomme ich nur die unsortierten Daten... (logisch...)
mit sorter.getModel().getValueAt() bekomme ich auch nur die unsortierten...-.-
Habe mir 2 Notlösungen ausgedacht:
1. ich schreib vorne in die erste Spalte sichtbar eine ID 1-n rein, und greife dann auf das Datamodel zu und mache Data[ID][spaltennummer]...
2. ich mach die unsichtbare Spalte sichtbar, ganz klein und nicht resizeable... so hat man aber im Header einen blöden Klotz....