2012-02-26 66 views
2

这是我的场景:我有一个应用程序的3个视图,其中2个是相同的,除了1件事 - 一个有额外的过滤。所有的视图都使用相同的模型,因为它们以不同的方式显示相同的数据。 2个相似的观点都是JTable中和如下:在一个基本水平JTable Filtering问题

  • 视图1过滤器的结果
  • 视图2(应)首先过滤在此相同的基本水平,以及对更精细的级别

我可以和已经创建了第二视图过滤器,但是由于两个视图使用相同的型号(实现TableModel的),他们都称在模型中的数据相同的功能 - getValueAt(int rowIndex, int columnIndex) - 目前唯一的过滤器在基本水平上。

什么是最简单的方式来额外筛选第二视图,而不影响1st?我将如何去实施这个?

在此先感谢。

回答

5

秋千JTable支持视图中的境界滤除掉框,只需用它,像(启用排序和类型强制失踪)

RowFilter basic = .. 
RowFilter other = ... 
RowFilter finer = Rowfilter.andFilter(basic, other); 

basicTable.getRowSorter().setRowFilter(basic); 
finerTable.getRowSorter().setRowFilter(finer); 
+1

一个很好的答案+1 – mKorbel 2012-02-26 12:51:47

+0

THANK GOD吓坏!这工作像一个魅力。感谢您解决我一直在努力争取时间的问题!它不仅解决了我的问题,而且还增加了另一个我没有预见到的非常容易的过滤器。谢谢! – paradox870 2012-02-26 14:53:06