0
我有一個使用SwingBits java庫爲每個列標題添加過濾選項的JTable。現在,除了列標題過濾器之外,我還通過在JTextField中輸入的文本過濾最後一列。將過濾器重新應用於已過濾的JTable視圖
問題是,一旦我使用列過濾器過濾jtable,並嘗試使用TextField過濾器,過濾將應用於原始表格而不是過濾視圖。我知道表模型包含原始表數據,那麼是否有解決此問題的解決方法?
我有一個使用SwingBits java庫爲每個列標題添加過濾選項的JTable。現在,除了列標題過濾器之外,我還通過在JTextField中輸入的文本過濾最後一列。將過濾器重新應用於已過濾的JTable視圖
問題是,一旦我使用列過濾器過濾jtable,並嘗試使用TextField過濾器,過濾將應用於原始表格而不是過濾視圖。我知道表模型包含原始表數據,那麼是否有解決此問題的解決方法?
您需要使用「andFilter」將多個過濾器合併爲一個。
例如,看看Sorting and Filtering的Swing教程部分。您可以使用如下代碼修改演示,以過濾兩行中發現文本的行,而不僅僅是一行:
//rf = RowFilter.regexFilter(filterText.getText(), 1);
List<RowFilter<Object,Object>> filters = new ArrayList<RowFilter<Object,Object>>(2);
filters.add(RowFilter.regexFilter(filterText.getText(), 0));
filters.add(RowFilter.regexFilter(filterText.getText(), 1));
rf = RowFilter.andFilter(filters);
它在我的情況下並不那麼簡單。因爲我使用SwingBits(這是一個外部庫)用於我的列標題過濾,所以它有自己的過濾機制,在研究源代碼後我仍然不太明白。我不知道如何將其與我的有效負載過濾器集成在一起。 – fsociety