![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| KL7 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.12.2008 Где: Minsk City Репутация: нет Всего: 2 |
Есть задача: реализовать сортировку по нескольким столбцам в JTable. Т.е. клик на заголовке одной колонки приводит к сортировке таблицы по этой колонке. Если же зажать Ctrl и кликнуть по еще одной колонке, то данные будут отсортированы по первой колонке, а в строках с одинаковыми значениями в этой колонке будут сортироваться по второй колонке.
Скажем, если таблица выглядит таким образом: 1 3 4 2 2 3 1 2 1 3 3 2 то после клика по второй колонке получаем: 2 2 3 1 2 1 1 3 4 3 3 2 Если же зажать Ctrl и кликнуть на 3ю колонку, то желаемый результат выглядит так: 1 2 1 2 2 3 3 3 2 1 3 4 Ну и хотелось бы иметь возможность сортировать как в возрастающем порядке, так и в убывающем. Т.е. один Ctrl+click сортирует по возрастанию, а еще один Ctrl+click изменяет направление сортировки. Как это грамотнее всего реализовать? Клик на header-e таблицы обработал, а вот что дальше не знаю. Можно ли как-нибудь задействовать TableRowSorter для таких целей? Есть идеи, как это реализовать "топорным" методом, обрабатывая клик, запоминая порядок кликов и своими силами сортируя данные в массиве (векторе). Но хотелось бы что-нибудь более содержательное. Заранее спасибо. |
|||
|
||||
| KL7 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 7.12.2008 Где: Minsk City Репутация: нет Всего: 2 |
Решение в принципе найдено. Осталось разобраться.
Если кому интересно - TableSorterDemo. Sun-овский пример реализации сортировки по нескольким колонкам. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |