在java編寫的應用法式中,需要顯示給用戶表中的數據,可是一些table數據當前不需要顯示,怎么處置這個問題,下面講解ViewerFilter實現過濾。我寫的經驗對你進修java有幫忙的話,給我投票或者點贊!
http://v.youku.com/v_show/id_XMzk2NzI3NzQwOA==.html
0顯示表中數據
0利用增添刪除一行數據
0中控件怎么具有編纂功能
若是不熟悉這個TableViewer控件時,看看我以前的經驗講的TableViewer用法。
打開這個vpshangpinxinxi.java,在這個文件中界說過濾的類。
擔當ViewerFilter界說一個過濾類,類的名稱按照你的愛好起:
public class chaxunguolv extends ViewerFilter{
}
籠蓋select這個方式,需要過濾的數據都在這個方式中實現的。
viewer:這個是TableViewer對象。
parentElement:table中的所稀有據。
element:當前一行數據。
@Override
public boolean select(Viewer viewer, Object parentElement, Object element) {
在過濾類中界說一個前提字符串private string tj.,實例化時把過濾前提轉給類變量。
private String tj;
public chaxunguolv(String tj){
this.tj=tj;
重寫select這個方式,若是返回true把當前數據顯示在table中,否者把當前數據過濾失落。(我是把分類,名稱,助記碼的字符串是否包含過濾前提,若是>=0的話,就返回true,顯示)
Shangpinxinxi sp=(Shangpinxinxi)element;
if(sp.getfenlei().indexOf(tj)>=0 || sp.getmingcheng().indexOf(tj)>=0 || sp.getzhujima().indexOf(tj)>=0){
lv=true;
}else{
lv=false;
return lv;
在“查詢數據”時怎么實現過濾:
tv:是TableViewer對象的變量
tv.resetFilters(); 這個函數是把以前的過濾刪除
tv.addFilter:增添過濾
text.getText():
過濾前提字符串 chaxunguolv:過濾類
tv.addFilter(new chaxunguolv(text.getText()));
運行項目,實現過濾 。過濾類的完整代碼:
private boolean lv=false;
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!