2015-01-26 34 views
1

我有一个TableTableViewer被设置采取ViewerComparator有没有办法在SWT表分类后删除排序?

this.viewer.setComparator(this.comparator); 

现在我在看我的表。我点击列标题。该表在该行上排序。我再次点击该列标题,并在另一个方向排序。我点击不同的列标题,排序切换到新列。这工作很好。

我的问题是如果有一种方法可以删除排序。这意味着摆脱我单击的列标题顶部的排序箭头,排序列元素上的灰色背景将消失,并且数据将恢复为其原始顺序。我愿意在某处添加某种按钮来启动此命令。

这可能吗?

回答

2

Table有几分指示符和由所述TableViewer使用的比较器实际上是独立的。

要删除的排序指标,叫table.setSortDirection(SWT.NONE)。要删除比较器,请致电viewer.setComparator(null)

当列标题被选中时,您可以让用户通过UP,DOWN,NONE进行切换,或者提供额外的UI元素来重置排序。

+0

我做到了这一点,它的工作很棒!感谢这个想法。 – chama 2015-01-28 14:33:17

相关问题