1

我正在尝试将过滤器应用于表中的特定列,当所有数据都加载到表中时(不应用过滤器),我可以说:

项目,状态 <- 标题

项目 0 , 0 项目 1, 0 项目 2, 0 项目 3, 1 项目 4, 1 项目 5, 1

所以我有一个项目列和一个状态列。使用 FilterableTableModel 时,我可以在列中安装标题,以便用户可以配置过滤器以手动应用。

自定义过滤器

因此,用户可以通过取消选中除 1 之外的所有项目来过滤所有状态为“1”的状态。

我的问题是,我可以以编程方式做同样的事情吗?以便在呈现表格时应用此过滤器,但允许用户将其删除。

我尝试创建一个 InFilter 并将其应用于表,它实际上过滤了数据,但它没有出现在列表中(为此,我必须注册过滤器,它将出现在自定义过滤器列表,但这是我不想这样做的,因为每次打开此对话框时我都必须注册/取消注册过滤器),并且用户无法禁用它。

4

1 回答 1

0

使用诸如javax.swing.table.TableRowSorterjavax.swing.RowFilter及其子类之类的类,您可以以编程方式将过滤器添加到您的 JTable。在我们的项目中,我们将这些类与 jide 表一起使用,没有任何问题。

我对您的另一个建议是搜索com.jidesoft.filter.Filter类。您可能会找到有用的提示。

于 2015-07-09T12:25:57.137 回答