我想第一次排序SWT表列。 我有一个带有TableViewer的表,我想在setInput方法之后或之前对programmaticaly进行排序。
列是动态生成的,最后一列是平均列。 有没有按程序排序的方法?
我只使用这行代码:
columnPromEcr = new TableColumn(table, SWT.RIGHT);
columnPromEcr.setText("Prom. ECR");
columnPromEcr.pack();
columnPromEcr.setResizable(true);
this.table.setSortColumn(columnPromEcr);
在setInput方法之后我调用:
// refresh table
tableViewer.refresh();
table.setRedraw(true);
我需要一个类ViewerSorter吗?
我不需要用户干预,我的数据无序,并且在创建动态列之后,我希望程序使用该信息,数字数据对表进行排序。
答案 0 :(得分:1)
如果您只想在显示项目之前对项目进行排序,则不需要ViewerSorter
。使用Comparator
和Collections.sort()
。
答案 1 :(得分:0)
是的,使用ViewerSorter,它会一直保持TableViewer的顺序。
答案 2 :(得分:0)
如果你想要排序的默认行为(整数,字符串简单比较),你可以设置分拣机:
viewer.setSorter(new ViewerSorter());
并且观察者将一直被分类(例如在删除,添加数据之后)