现在的位置: 首页 > 综合 > 正文

SWT中给表格添加排序功能

2013年06月29日 ⁄ 综合 ⁄ 共 4676字 ⁄ 字号 评论关闭

在日常工作中,我们在使用表格浏览数据的时候,希望数据能按照一定的规则进行排序,这样查看起来会非常的方便,这时我们可以在表格中加入排序的功能,这样表格中的内容便可以按照一定的规则进行排序,下面我们来看看怎么给表格加上排序的功能,其实这个功能实现起来很简单,下面我们来看看怎么实现,
  实现我们新建一个实现了 ViewerSorter 的类,比如名称为 UserInfoSorter .java
我们只有实现 compare 方便就可以了,其中这里的返回值为int型,返回类型一般有三种-1、0和1,其中-1表示倒序,0表示不进出操作,1表示正序,
 我们来看看这里例子中的内容

我们从 compare方法中的参数提取出要比较的对象,进行对比排序,然后我们在相应的类中给表格添加事件处理排序,假如我们希望在显示名称的列名上单击的时候将这个列下所有的单元格进行排序可以这样

 userNameCol.addSelectionListener(new SelectionAdapter() {
      boolean sortType = true;
      public void widgetSelected(SelectionEvent e) {
        sortType = !sortType;
        userInfoTableViewer.setSorter(sortType ? UserInfoSorter.userNameSorter0 : UserInfoSorter.userNameSorter1);
      }
    });   
当点击名称列的时候就会排序了,我们看看一个比较完整的类


 这样表格排序功能就实现了

抱歉!评论已关闭.