簡體   English   中英

在JXTable上設置多個RowFilter

[英]Set Multiple RowFilters On JXTable

如何在JXTable中為1行添加多個過濾器?

我嘗試使用:

int col = jxTable.getColumn("Tipo").getModelIndex();
RowFilter filter1 = RowFilters.regexFilter(0, "^N", col)
RowFilter filter2 = RowFilters.regexFilter(0, "^N", col)

jxTable.setRowFilter(filter1);
jxTable.setRowFilter(filter2);

但是filter2覆蓋了filter1

用法:

我會做3個復選框,用不同的字母進行過濾,

[ ]A  [ ]B  [ ]C

如果選中A,則僅顯示以A開頭的內容,如果選中B和A,則同時顯示...

當您要組合多個過濾器時,請使用RowFilter.andFilter()RowFilter.orFilter()方法。 對於您的情況,聽起來像您想使用orFilter方法

腳步:

  • 將您要添加到表格中的所有過濾器放入列表中
  • 調用RowFilter.andFilter()RowFilter.orFilter()來創建一個過濾器,該過濾器對列表中的過濾器進行ANDOR
  • 將新創建的ANDOR過濾器應用到JXTable。

例:

//Code not tested
int col = jxTable.getColumn("Tipo").getModelIndex();
RowFilter filter1 = RowFilters.regexFilter(0, "^N", col)
RowFilter filter2 = RowFilters.regexFilter(0, "^N", col)

List<RowFilter> filters = new ArrayList<RowFilter>();
filters.add(filter1);
filters.add(filter2)
RowFilter orFilter = RowFilter.orFilter(filters);
jxTable.setRowFilter(orFilter);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM