在java编写的应用法式中,需要显示给用户表中的数据,可是一些table数据当前不需要显示,怎么处置这个问题,下面讲解ViewerFilter实现过滤。我写的经验对你进修java有帮忙的话,给我投票或者点赞!http://v.youku.com/v_show/id_XMzk2NzI3NzQwOA==.html0eclipse TableViewer显示表中数据(mysql)0eclipse table利用增添删除一行数据0eclipse中table控件怎么具有编纂功能工具/原料eclipse 4.5.2方式/步骤1若是不熟悉这个TableViewer控件时,看看我以前的经验讲的TableViewer用法。打开这个vpshangpinxinxi.java,在这个文件中界说过滤的类。2担当ViewerFilter界说一个过滤类,类的名称按照你的爱好起:public class chaxunguolv extends ViewerFilter{}3笼盖select这个方式,需要过滤的数据都在这个方式中实现的。viewer:这个是TableViewer对象。parentElement:table中的所稀有据。element:当前一行数据。@Overridepublic boolean select(Viewer viewer, Object parentElement, Object element) {}4在过滤类中界说一个前提字符串private string tj.,实例化时把过滤前提转给类变量。private String tj;public chaxunguolv(String tj){this.tj=tj;}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;}6在“查询数据”时怎么实现过滤:tv:是TableViewer对象的变量tv.resetFilters(); 这个函数是把以前的过滤删除tv.addFilter:增添过滤 text.getText():过滤前提字符串 chaxunguolv:过滤类tv.addFilter(new chaxunguolv(text.getText()));7运行项目,实现过滤 。过滤类的完整代码:public class chaxunguolv extends ViewerFilter{private String tj;private boolean lv=false;public chaxunguolv(String tj){this.tj=tj;}@Overridepublic 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;}}