Frage

Ich weiß, dass JTable von einer einzigen Spalte sortieren. Aber ist es möglich, dass mehrere Spalte sortieren lassen oder muss ich mich um den Code zu schreiben?

War es hilfreich?

Lösung

Sie können nach mehreren Spalten sortieren, indem mehr als eine Sortierschlüssel angeben, wenn setSortKeys in dem RowSorter Sie verwenden.

Andere Tipps

Schauen Sie in JXTable . JXTable ist eine Erweiterung des JTable der mehrspaltigen Sortier unterstützt, sowie andere Funktionen, die JTable nicht anbietet. Es ist frei erhältlich von JDNC / SwingLabs.

Es sollte möglich sein, den TableRowSorter und den Komparator mit ihm verbunden zu setzen. Beispiel:

TableModel myModel = createMyTableModel();
JTable table = new JTable(myModel);
TableRowSorter t = new TableRowSorter(myModel);
t.setComparator(column that the comparator works against, Comparator<?> comparator);
table.setRowSorter(new TableRowSorter(myModel));

eTabelle aus der NetBeans-Sammlung.
Es ist Teil des org-Netbeans-swing-outline.jar
Eine Google-Suche aught es aufzudrehen. Die eTabelle ist in erster Linie eine Grundlage für Outline (a TreeTable), aber es hat Ordnung mehrspaltigen in so gebaut und viele anderen netten Features

„Ich weiß, dass jtable von einer einzigen Spalte sortieren. Aber ist es möglich, dass mehrere Spalte sortieren lassen oder muss ich mich um den Code zu schreiben?“

Tabelle Sortierung und Filterung wird durch einen Sortierer Objekt verwaltet. Der einfachste Weg, einen Sortierer Objekt zu schaffen, ist autoCreateRowSorter gebunden Eigenschaft auf true gesetzt;

JTable table = new JTable();
table.setAutoCreateRowSorter(true);

Aktion definiert eine Reihe Sortierer, der eine Instanz javax.swing.table.TableRowSorter ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top