Фильтр JTable только один столбец - PullRequest
7 голосов
/ 06 апреля 2011

У меня есть JTable, и я хотел бы сделать фильтр из JTextfield, но фильтровать результаты только по одному столбцу, а не искать по всем столбцам.

У меня есть JTable, я могу фильтровать, ноМой фильтр будет фильтровать и искать каждый столбец таблицы. Я хочу ограничить его одним столбцом

Можно ли это сделать?

Ответы [ 3 ]

14 голосов
/ 06 апреля 2011

прослушайте изменения в документе textFields и установите соответствующий rowFilter, ограниченный столбцом, который вы хотите отфильтровать:

 // on document change
 RowFilter rowFilter = RowFilter.regexFilter(textField.getText(), myColumn);
 table.getRowSorter().setRowFilter(rowFilter);

(тип-приведение и защита от пустого текстового поля опущены)

1 голос
/ 06 апреля 2011

Вы можете расширить модель таблицы конвертов следующим образом http://java -sl.com / envelope.html и оставить только необходимые строки.

1 голос
/ 06 апреля 2011

Храните главную копию всех строк (или вспомогательных данных) в фоновом режиме.

При поиске извлекайте критерии поиска из текстового поля и перестраивайте модель таблицы, добавляя только элементы, соответствующие этим критериям.,Если текстовое поле пустое, добавьте все строки.

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