Главная страница

Сортировка. Сортировка и фильтрация БД java. Сортировка и фильтрация таблиц в бд Лебедева Екатерина


Скачать 3.12 Mb.
НазваниеСортировка и фильтрация таблиц в бд Лебедева Екатерина
АнкорСортировка
Дата14.12.2022
Размер3.12 Mb.
Формат файлаpptx
Имя файлаСортировка и фильтрация БД java.pptx
ТипДокументы
#844991

Сортировка и фильтрация таблиц в бд

Лебедева Екатерина

Сортировка строк


В основе реализации сортировки и фильтрации строк в Mustang лежит абстрактный класс RowSorter. Класс RowSorter поддерживает два вида преобразований, в первом случае строки компонента JTable преобразуются в элементы базовой модели, во втором случае выполняется обратное преобразование. Данные преобразования позволяют производить фильтрацию и сортировку. Класс является достаточно обобщенным, чтобы работать как с объектами TableModel, так и с ListModel. Однако только класс TableRowSorter, предоставляемый Mustang может работать с компонентами JTable.

JTable table = new JTable(model); RowSorter sorter = new TableRowSorter (model); table.setRowSorter(sorter);

В первой строке модель ставится в соответствие таблице. Вторая строка создает объект RowSorter для данной модели. В третьей строке устанавливается соответствие объектов RowSorter и JTable. Данные действия позволяют производить сортировку столбца при нажатии на его заголовок. Повторное нажатие на тот же столбец инвертирует сортировку.

void sorterChanged(RowSorterEvent e)

Данный метод позволяет вам обновить текст в строке состояния или произвести другие дополнительные действия. Объект RowSorterEvent позволяет вам узнать количество строк появившихся или исчезнувших с экрана после сортировки объекта RowSorter.

Фильтрация строк таблицы

Вы можете связать объект RowFilter с классом TableRowSorter и использовать его для фильтрации содержимого таблицы. В абстрактном классе RowFilter определен один метод, применяемый для фильтрации:

boolean include(RowFilter.Entry entry)

Для каждого элемента модели, связанной с объектом RowSorter, данный метод определяет должен ли он отображаться для текущего представления модели. Для методов класса RowFilter принимающих в качестве аргумента индексы данной модели проверяется только набор столбцов, для которых переданы индексы. Если в качестве аргумента не передано ни одного индекса, то на совпадение проверяются все столбцы.


написать администратору сайта