eclipse中ViewerFilter实现过滤数据

 时间:2026-02-12 17:08:55

1、如果不熟悉这个TableViewer控件时,看看我以前的经验讲的TableViewer用法。

打开这个vpshangpinxinxi.java,在这个文件中定义过滤的类。

eclipse中ViewerFilter实现过滤数据

2、继承ViewerFilter定义一个过滤类,类的名称根据你的喜好起:

public class chaxunguolv extends ViewerFilter{

}

eclipse中ViewerFilter实现过滤数据

3、覆盖select这个方法,需要过滤的数据都在这个方法中实现的。

viewer:这个是TableViewer对象。

parentElement:table中的所有数据。

element:当前一行数据。

@Override

public boolean select(Viewer viewer, Object parentElement, Object element) {

}

eclipse中ViewerFilter实现过滤数据

4、在过滤类中定义一个条件字符串private string tj.,实例化时把过滤条件转给类变量。

private String tj;

public chaxunguolv(String tj){

this.tj=tj;

}

eclipse中ViewerFilter实现过滤数据

5、重写select这个方法,如果返回true把当前数据显示在table中,否者把当前数据过滤掉。(我是把分类,名称,助记码的字符串是否包含过滤条件,如果>=0的话,就返回true,显示)

public boolean select(Viewer viewer, Object parentElement, Object element) {

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;

}

eclipse中ViewerFilter实现过滤数据

6、在“查询数据”时怎么实现过滤:

tv:是TableViewer对象的变量

tv.resetFilters();     这个函数是把以前的过滤删除

tv.addFilter:增加过滤            

 text.getText():

过滤条件字符串  chaxunguolv:过滤类

tv.addFilter(new chaxunguolv(text.getText()));

eclipse中ViewerFilter实现过滤数据

7、运行项目,实现过滤 。过滤类的完整代码:

public class chaxunguolv extends ViewerFilter{

private String tj;

private boolean lv=false;

public chaxunguolv(String tj){

this.tj=tj;

}

@Override

public boolean select(Viewer viewer, Object parentElement, Object element) {

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;

}

}

eclipse中ViewerFilter实现过滤数据

  • iPhone7官方壁纸下载教程,iPhone7壁纸下载
  • FC版最终幻想3装备怎么卡
  • 60级德巴攻略
  • 神角技巧海盗王宝箱在哪里
  • 阴阳师探索副本第十四章妖怪出处总结
  • 热门搜索
    峨眉山旅游图 旅游合同范本 罗平旅游攻略 明月山旅游攻略 北京旅游景点大全排名 文昌旅游 盘山旅游攻略 000978桂林旅游 海南自助旅游 南京旅游景区