1

我将 aRowFilter.regexFilter(...)应用于我的表,并且列上的过滤Integer无法正常工作。我认为在 中RowFilter.RegexFilter.include()Integer要评估的 -value 被转换为String带逗号的 a。

18 -> 18
4820 -> 4,820
85898 -> 85,898

但是我希望它是一个Integer没有任何逗号的纯字符串。我正在为我的表设置 RowFilter,如下所示:

String myfilterString = "^\Q46\E"; // integer value should start with "46"
RowFilter<Object, Object> patternFilter = RowFilter.regexFilter("(?i)" + myFilterString, columnIndex);
myTable.setRowFilter(patternFilter);

我怎样才能改变这里的行为?

4

1 回答 1

2

如果您将整数数据存储在表中,那么正则表达式将对整数值起作用。

渲染器格式化 Integer 的方式对 TableModel 中的实际数据没有影响。

因此,请确保您的 TableModel 包含 Integer 值,并且您已覆盖getColumnClass(...)TableModel 的方法以返回Integer.class该列。

于 2016-12-15T21:05:18.013 回答