我正在使用此代码根据选中的复选框进行过滤
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
现在的问题是我需要根据日期TOO过滤结果,
这里我获取2个选定日期之间的日期,然后添加到过滤器,因此如果它开始/匹配,它将检查行文本
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:我试图避免对数据库的新查询使用特定的日期范围方法
因为数据并非一直都在变化,所以每次都不需要检查..
但我认为这只是真正的方式= \