Сортировка по нескольким столбцам в JTable - PullRequest
6 голосов
/ 21 сентября 2008

Я знаю, что JTable может сортировать по одному столбцу. Но можно ли разрешить сортировку по нескольким столбцам или мне нужно написать код самостоятельно?

Ответы [ 5 ]

10 голосов
/ 21 сентября 2008

Вы можете сортировать по нескольким столбцам, указав более одного ключа сортировки при вызове setSortKeys в RowSorter, который вы используете.

2 голосов
/ 21 сентября 2008

Посмотрите на JXTable . JXTable - это расширение JTable, которое поддерживает сортировку по нескольким столбцам, а также другие функции, которые не предоставляет JTable. Это свободно доступно от JDNC / SwingLabs.

2 голосов
/ 21 сентября 2008

Вы должны иметь возможность установить TableRowSorter и компаратор, связанный с ним. Пример:

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));
1 голос
/ 21 февраля 2012

"Я знаю, что Jtable может сортировать по одному столбцу. Но возможно ли разрешить сортировку по нескольким столбцам или мне нужно написать код самому?"

Сортировка и фильтрация таблиц управляются объектом сортировки. Самый простой способ предоставить объект сортировщика - установить для привязанного свойства autoCreateRowSorter значение true;

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

Это действие определяет сортировщик строк, который является экземпляром javax.swing.table.TableRowSorter.

1 голос
/ 21 сентября 2008

ETable из коллекции netbeans.
Он является частью org-netbeans-swing-outline.jar
Поиск в Google должен его включить. ETable - это прежде всего основа для Outline (TreeTable), но в него встроено многоколоночное упорядочение, а также множество других приятных функций

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...