我想基于两个不同列的值在 JTable 中实现行过滤:
第 1 列 = 1
第 2 列 = 5
下面是根据 INDEX_FIELD = 1 条件执行行过滤的方法:
public void rowFiltering(int x) {
RowFilter<ResultsModel, Integer> IDfilter = RowFilter.numberFilter(
ComparisonType.EQUAL, x, column1);
resultsTableSorter.setRowFilter(IDfilter);
}
rowFiltering(1);
如何基于两个值实现行过滤?就像是...
rowFiltering(valueColumn1, valueColumn2);
最佳答案
使用 and
过滤器:
//rf = RowFilter.regexFilter(filterText.getText(), 0);
List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
filters.add(RowFilter.regexFilter(filterText.getText(), 0));
filters.add(RowFilter.regexFilter(filterText.getText(), 1));
rf = RowFilter.andFilter(filters);
上面的代码是从 Sorting and Filtering 中的示例中修改而来的。
关于java - 基于两个不同列的值的 JTable 行过滤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17450644/