Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > JTable фильтрация данных


Автор: alexsaltykov 3.9.2008, 14:25
Имеется фильтр

Код

            RowFilter rf = null;
            try {
             rf = RowFilter.regexFilter("Болт  М20х80 (25Г2)", 1);
            } catch (java.util.regex.PatternSyntaxException e) {           
            }
            sorter.setRowFilter(rf);



На данное условие фильтр срабатывает но возвращает пустое кол-во строк (типа нету данных с таким условием) - хотя в таблице эти данные точно есть
Если условие поменять на "Болт  М20х80 (25Г2"  т.е. убрать закрывающую скобку то фильтр возвращает все строки - не фильтрует
Если условие сократить "Болт  М20х80 " - убрать все скобки все отлично работает

Это баг или я неправильно задаю условие ???

Автор: SaSho 3.9.2008, 15:25
Цитата(alexsaltykov @ 3.9.2008,  14:25)
Имеется фильтр

Код

            RowFilter rf = null;
            try {
             rf = RowFilter.regexFilter("Болт  М20х80 (25Г2)", 1);
            } catch (java.util.regex.PatternSyntaxException e) {           
            }
            sorter.setRowFilter(rf);



На данное условие фильтр срабатывает но возвращает пустое кол-во строк (типа нету данных с таким условием) - хотя в таблице эти данные точно есть
Если условие поменять на "Болт  М20х80 (25Г2"  т.е. убрать закрывающую скобку то фильтр возвращает все строки - не фильтрует
Если условие сократить "Болт  М20х80 " - убрать все скобки все отлично работает

Это баг или я неправильно задаю условие ???

Не зная, что за класс такой RowFilter можно только догадываться.
Попробую догадаться. Подправь вот так строчку:
Код

rf = RowFilter.regexFilter("Болт  М20х80 \\(25Г2\\)", 1);

Автор: alexsaltykov 3.9.2008, 15:43
Саня, спасибо

знал что для кавычек и слешаи надо применять такое, но для скобок не догадался ;-)

Автор: SaSho 3.9.2008, 16:08
Скобки - это символы группировки в регулярных выражениях. Почитай про regexp'ы в Java

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)