table view排序

RCP项目中TreeViewer和TableViewer中显示内容的排序 
2010-05-27 11:25
RCP项目中TreeViewer和TableViewer中显示内容的排序:
对TreeViewer和TableViewer的显示来自数据库或别的数据源的非有序数据的顺序显示,
可应用到它们的自身特点来作处理。
TreeViewer和TableViewer都有两个
viewer.setContentProvider(IStructuredContentProvider);
viewer.setLabelProvider(ITableLabelProvider);
其中contentProvider用来显示内容,在IStructuredContentProvider的实现类中
有方法
        @Override
public Object[] getElements(Object inputElement) {return null;}
来处理要显示的内容数据,这时可对显示数据(inputElement)进行排序处理以达到顺序显示的效果。
如:
        @Override
public Object[] getElements(Object inputElement) {
   List<TimeAnalysis> list = (List<TimeAnalysis>) inputElement;
   TimeAnalysis[] timeAnalysises= list.toArray(new TimeAnalysis[list.size()] );
   sort(timeAnalysises);
   return timeAnalysises;
}

private void sort(TimeAnalysis[] timeAnalysises){
   TimeAnalysis timeAnalysis ;
   for(int i=0;i<timeAnalysises.length;i++){
    for(int j=i+1;j<timeAnalysises.length;j++){
     String iType = timeAnalysises[i].getErrorType();
     String jType = timeAnalysises[j].getErrorType();
     if(iType.compareTo(jType)>0){
      timeAnalysis = timeAnalysises[j];
      timeAnalysises[j] = timeAnalysises[i];
      timeAnalysises[i] = timeAnalysis;
     }
    }
   }
}

 

你可能感兴趣的:(table)