Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

У вас должна быть возможность установить 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));

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top