我只想第一次对SWT表列进行排序。我有一个带有他们的TableViewer的表,我想在setInput方法之后或之前编程排序。
这些列是动态生成的,最后一列是一个平均值列。有没有按程序排序的方法?
我只使用了这行代码:
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吗?
我不需要用户干预,我的数据是无序的,在创建动态列之后,我希望程序用这些信息和数字数据对表进行排序。
发布于 2011-12-27 07:34:37
如果您只想在项目显示前对其进行排序,则不需要ViewerSorter
。使用Comparator
和Collections.sort()
。
发布于 2011-12-26 17:58:08
是的,使用ViewerSorter,它将使TableViewer始终保持有序。
发布于 2012-11-05 11:43:36
如果你想要默认的排序行为(整型,字符串简单比较),你可以直接设置排序器:
viewer.setSorter(new ViewerSorter());
并且查看器将一直被排序(例如,在删除、添加数据之后)
https://stackoverflow.com/questions/8637978
复制