【发布时间】:2011-07-30 18:05:31
【问题描述】:
我有一个 JTable,我想对 JTextfield 进行过滤,但只根据一列过滤结果,而不是搜索所有列。
我有我可以过滤的 JTable,但我的过滤器会过滤和搜索表的每一列,我想将其限制为一列
可以吗?
【问题讨论】:
我有一个 JTable,我想对 JTextfield 进行过滤,但只根据一列过滤结果,而不是搜索所有列。
我有我可以过滤的 JTable,但我的过滤器会过滤和搜索表的每一列,我想将其限制为一列
可以吗?
【问题讨论】:
监听 textFields 文档中的变化,并将适当的 rowFilter 设置为您要过滤的列:
// on document change
RowFilter rowFilter = RowFilter.regexFilter(textField.getText(), myColumn);
table.getRowSorter().setRowFilter(rowFilter);
(类型转换并防止省略空文本字段)
【讨论】:
在后台保留所有行(或支持数据)的主副本。
搜索时,从文本字段中获取搜索条件并通过仅添加与条件匹配的项目来重建表模型。如果文本字段为空,则添加所有行。
【讨论】:
您可以像这样扩展信封表模型http://java-sl.com/envelope.html 并只留下必要的行。
【讨论】: