eclipse中ViewerFilter实现过滤数据

2024-10-11 23:43:18

1、如果不熟悉这个TableViewer控件时,看看我以前的经验讲的TableViewer用法。打开这个vpshangpinxinxi.java,在这个文件中定义过滤的类。

eclipse中ViewerFilter实现过滤数据

3、覆盖select这个方法,需要过滤的数据都在这个方法中实现的。viewer:这个是TableViewer对象。parentElement:table中的所有数据。element:当前一行数据。@Override public boolean select(Viewer viewer, Object parentElement, Object element) {}

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实现过滤数据

7、运行项目,实现过滤 。过滤类的完整代码: public class chaxunguolv extends ViewerFilter{ private String tj; priv锾攒揉敫ate 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实现过滤数据
猜你喜欢