Chinaunix首页 | 论坛 | 博客
  • 博客访问: 47452
  • 博文数量: 11
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 130
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-29 10:18
文章分类

全部博文(11)

文章存档

2008年(11)

我的朋友

分类:

2008-10-12 14:27:39

Eclipse从入门到精通(第2版)中讲到的表格记录的过滤如下:
  建立一个继承自ViewerFilter的类,称之为过滤器类。下面的实例建立了一个过滤器,此过滤器的作用是在表格中只显示姓名叫"陈刚"的记录。
  ///文件名:MyFilter.java--------------
public class MyFilter extends ViewerFilter{
   //参数viewer在本例中就是TableViewer对象
   //参数parentElement在本例中是一个包含全部记录的Object数组
   //参数element当前传入的记录,需要判断是否过滤它
   //返回值=false,则此记录(element)不显示,true为显示
   public boolean select(Viewer viewer,Object parentElement,Object element){
    PeopleEnity o=(PeopleEnity )element;
    return o.getName().equals("陈刚");
   }
}
  表格使用的过滤语句如下所示,也可以把它写入某个Action的run方法中:
  tv.addFilter(new MyFilter());   //tv是TableViewer对象
 
我在实际的编程中遇到了用日期、整形、字符串筛选记录,代码如下:
//----种鸡计划查询的类-----
   class MyFilter extends ViewerFilter{
   public boolean select(Viewer viewer, Object parentElement, Object element) {
    ZhongJiJiHua zjjh_cx=(ZhongJiJiHua)element;
    if(combo_zjjh.getText().equals("预定日期")){
     return (zjjh_cx.getYuDingRiQi().equals(java.sql.Date.valueOf(text_select.getText()))); //
    }else if(combo_zjjh.getText().equals("批次")){
        return (zjjh_cx.getPiCi()==Integer.parseInt(text_select.getText()));
  
    }else if(combo_zjjh.getText().equals("品种")){
       return zjjh_cx.getPinZhong().equals(text_select.getText());}
    else if(text_select.getText().equals("")){
     return true;
    }
    return false;}
 }
阅读(1343) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~