я использую этот код для фильтрации в зависимости от того, какой флажок установлен,
positiveFilter= RowFilters.regexFilter(0, "^pos", columnStatus);
neutralFilter = RowFilters.regexFilter(0, "^neu", columnStatus);
negativeFilter = RowFilters.regexFilter(0, "^neg", columnStatus);
в соответствии с выбранным флажком, добавляет фильтр в список
filters = new ArrayList<RowFilter<TableModel, Object>>();
поэтому я установил фильтры на один фильтр
RowFilter<TableModel, Object> compoundRowFilter = rowFilter.orFilter(filters);
and then: jxTable.setRowFilter(compoundRowFilter); //im using JXTable
теперь проблема в том, что мне нужно отфильтровать результаты по дате ТОЖЕ,
ЗДЕСЬ Я ПОЛУЧАЮ дату между двумя выбранными датами, а затем добавляю к фильтру, поэтому он будет проверять текст строки, если он начинается/соответствует
filtersData = new ArrayList<RowFilter<TableModel, Object>>();
dates = new ArrayList<LocalDate>();
for (Date data : obtenerFechasDiariasIntervalo(jxdatainicial.getDate(), jxdatafinal.getDate())) {
filtersData.add(RowFilters.regexFilter(0, "^" + longFormat.format(data) + "", 5));
}
но я думаю, что невозможно использовать оба фильтра вместе
нравится:
compoundRowFilter = RowFilter.orFilter(filtersData).orFilter(filters);
если я использую это выше, он возвращает мне все результаты на основе флажка
если я использую andFilter (фильтры); он перестает работать, когда я устанавливаю более одного флажка...
ps: я пытаюсь избежать нового запроса к базе данных, чтобы использовать определенный метод диапазона дат
так как данные не все время меняются, мне не нужно каждый раз проверять..
НО я думаю, что это единственный реальный способ =\
dateFilter
- person Paul Samsotha   schedule 04.10.2014