我有一个JTable,我想从JTextfield
进行过滤,但只根据一列过滤结果,而不是搜索所有列。
我有我的JTable我可以过滤,但我的过滤器将过滤并搜索表格的每一列我想将其限制为一列
可以吗?
答案 0 :(得分:14)
监听textFields文档中的更改,并将相应的rowFilter设置为您要过滤的列:
// on document change
RowFilter rowFilter = RowFilter.regexFilter(textField.getText(), myColumn);
table.getRowSorter().setRowFilter(rowFilter);
(类型转换并防止空文本字段省略)
答案 1 :(得分:1)
在后台保留所有行(或支持数据)的主副本。
搜索时,从文本字段中获取搜索条件,并仅通过添加符合条件的项目来重建表模型。如果文本字段为空,则添加所有行。
答案 2 :(得分:1)
您可以像这样扩展信封表模型http://java-sl.com/envelope.html 并且只留下必要的行。