我想基于两个不同列的值在 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/

10-10 01:16