ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
1962
1962
EMPFEHLEN
-
30.08.09 15:13 #1
Hallo,
es mag einfach nicht funktionieren:
Immer wenn ich die JTable filtern oder sortieren lasse, kann ich nicht die Zellen löschen, die ich löschen will, weil ich dazu die Methodebenutze, welche die Zellennummern der unsortierten und ungefilterten Tabelle liefert, also quasi wie vor dem Sortieren oder Filtern.Code :1
getSelectedRows()
Nun meine Frage:
Wie kann ich dann die aktuell selektierten Werte bekommen, die also auch das Aussortieren/Filtern berücksichtigen, weil sich ja dadurch die Zellennummern ändern
Ein ähnlicher Fall schon hier: http://www.tutorials.de/forum/java/2...lectedrow.html
Für eine Antwort wäre ich dankbar,
viele Grüße,
Kevin
-
Hallo!
Ich nehme an du verwendest einen TableRowSorter zum sortieren deiner JTable. Da solltest du dir mal die Methode convertRowIndexToModel. Der übergibst du eine Zeilennummer aus dem View und bekommst die entsprechende Zeilennummer aus dem Model zurück.
Hab das selber schonmal benötigt:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
fileTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { final ListSelectionModel lsm = (ListSelectionModel)e.getSource(); if (lsm.isSelectionEmpty()) { // no selected rows } else { final int minIndex = lsm.getMinSelectionIndex(); final int maxIndex = lsm.getMaxSelectionIndex(); final ArrayList<Integer> indices = new ArrayList<Integer>(); for (int i = minIndex; i <= maxIndex; i++) { if(lsm.isSelectedIndex(i)) { indices.add(fileTable.getRowSorter().convertRowIndexToModel(i)); } } // [...] } } });
mfg floProgramming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
-Rich Cook
-
Ich verstehe was du meinst, aber trotzdem wäre ein lauffähiges Codebeispiel ganz schön, an welchem sich die Problematik nachvollziehen lässt.
Schau mal hier zu Thema sortieren: http://java.sun.com/docs/books/tutor...nts/table.html
Es gibt convert... Methoden im JTable mit denen zu zwischen Model und View konvertieren kannst.
-
01.09.09 20:30 #4
Hey,
vielen Dank!! Genau die Methodehabe ich gebraucht.Code :1
convertRowIndexToModel()
Entschuldige, dass ich kein Beispiel geliefert habe. Im Prinzip ist es nur, den Wert der o.g. Methode der-Methode des Models zu übergeben:Code :1
removeRow(int)
Code java:1 2 3 4 5 6 7
int[] positions = table.getSelectedRows(); //reverse array "positions[]" for (int i = 0; i < positions.length; i++) { table.getModel().removeRow(table.convertRowIndexToModel(positions[i])); }
Nun funktioniert das auch!
Grüße,
kevin
Ähnliche Themen
-
datiehandling filtern und sortieren
Von 3Cyb3r im Forum C/C++Antworten: 0Letzter Beitrag: 29.05.08, 19:34 -
JTable sortieren und dann getSelectedRow
Von M_Kay im Forum JavaAntworten: 0Letzter Beitrag: 06.07.07, 17:38 -
Day CQ - ArrayList sortieren und filtern
Von aquasonic im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 2Letzter Beitrag: 22.12.06, 15:49 -
erst filtern dann werte addieren
Von MatthiasRedmann im Forum Relationale DatenbanksystemeAntworten: 16Letzter Beitrag: 12.10.06, 09:24 -
JTable Column (Spalten ausblenden/filtern?)
Von sportingt im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 5Letzter Beitrag: 10.11.05, 10:15





Zitieren

Login





