Domanda

So che JTable può ordinare per una singola colonna. Ma è possibile consentire l'ordinamento di più colonne o devo scrivere il codice da solo?

È stato utile?

Soluzione

Puoi ordinare per più colonne specificando più di una chiave di ordinamento quando chiami setSortKeys in RowSorter che stai utilizzando.

Altri suggerimenti

Guarda JXTable . JXTable è un'estensione di JTable che supporta l'ordinamento multi-colonna, così come altre funzioni che JTable non fornisce. È disponibile gratuitamente da JDNC / SwingLabs.

Dovresti essere in grado di impostare TableRowSorter e il Comparatore ad esso associati. Esempio:

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));

ETable dalla raccolta netbeans.
Fa parte di org-netbeans-swing-outline.jar
Una ricerca su Google dovrebbe alzare. ETable è principalmente una base per Outline (una TreeTable) ma ha l'ordinamento multi-colonna integrato e molte altre belle funzionalità

" So che Jtable può ordinare per una singola colonna. Ma è possibile consentire l'ordinamento di più colonne o devo scrivere il codice da solo? & Quot;

L'ordinamento e il filtro delle tabelle sono gestiti da un oggetto sorter. Il modo più semplice per fornire un oggetto sorter è impostare la proprietà associata autoCreateRowSorter su true;

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

Questa azione definisce un classificatore di righe che è un'istanza di javax.swing.table.TableRowSorter.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top