Sortieren von ein paar Zeilen in einer Tabelle, aber nicht die ganze Tabelle

HoT

Mitglied
Hallo ich habe eine Fragen zum Sortieren von Jtable.
Ich habe eine Tabelle, in der sich verschiedene Gruppenergebnisse unsortiert befinden. (siehe Anhang)
Ich muss aber nur immer die Zeilen der jeweiligen Gruppe nach den meisten Punkten und der höchsten Differenz sortieren.
wie mache ich das am besten.
Ich habe probiert, die einzelnen Zeilen in eine andere Tabelle zu kopieren und dort zu sortieren.(siehe Anhang) das hat geklappt. Aber beim zurückschreiben hat sich nichts geändert, da sich die Tabelle glaube ich beim sortieren den Index der Zeile merkt, aber nicht mit umsortiert.

Java:
 public void tabelleSortieren(){
    // Sortiert die Tabelle nach der Spalte der Punkte
        TableRowSorter<TableModel> sorter=new TableRowSorter<TableModel>(su.jTvrauswertung.getModel());
        su.jTvrauswertung.setRowSorter(sorter);
        List<RowSorter.SortKey> sortKeys = new ArrayList<>();
        int sortierspaltenzahl=8;
        sortKeys.add(new RowSorter.SortKey(6,SortOrder.DESCENDING));
        sortKeys.add(new RowSorter.SortKey(5,SortOrder.DESCENDING));
        sorter.setSortKeys(sortKeys);
        sorter.sort();
        //Spalte eintragen
        for (int ranking=0;ranking<su.jTvrauswertung.getRowCount();ranking++){
            su.jTvrauswertung.setValueAt(ranking+1, ranking, 7);
        }
    }
public void tabelleBackKopieren(){
  if(su.vratable.getRowCount()>0){ 
    for (int i =0; i<zeilenanfangdergruppen[1]-1;i++){
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 0).toString(), i+1, 0);
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 1).toString(), i+1, 1);
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 2).toString(), i+1, 2);
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 3).toString(), i+1, 3);
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 4).toString(), i+1, 4);
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 5).toString(), i+1, 5);
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 6).toString(), i+1, 6);
            su.gruppentable.setValueAt(su.vratable.getValueAt(i, 7).toString(), i+1, 7);
            
    }       
  }


Wie könnte ich das am besten lösen?
Vielen Dank für die Hilfe im Voraus
 

Anhänge

  • Gruppentabelle.png
    Gruppentabelle.png
    29,3 KB · Aufrufe: 27
  • Sortiertabelle.png
    Sortiertabelle.png
    21,2 KB · Aufrufe: 26
Zuletzt bearbeitet:
hmm könntest du mir da evtl. ein paar mehr Infos dazu geben, bzw. unter welchem Begriff ich da nachlesen kann?
 
Sorry, ich hab momentan wenig Zeit, sonst würde ich ein Codebeispiel schreiben. Die JTable zeigt an, was im TableModel steht. Du kannst Dir leich ein eigenes schreiben, wenn Du von AbstractTableModel abstrahierst.
 

Neue Themen


Zurück
Oben