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