我有Table
和TableViewer
设置为ViewerComparator
:
this.viewer.setComparator( this.comparator );
现在我在看我的桌子。我点击列标题。该表对该行进行排序。我再次点击该列标题,然后在另一个方向排序。我点击不同的列标题,排序切换到新列。这很好用。
我的问题是,是否有办法删除排序。这意味着摆脱我单击的列标题顶部的排序箭头,排序列的元素上的灰色背景将消失,数据将返回其原始顺序。我愿意在某处添加某种按钮来启动此命令。
这可能吗?
答案 0 :(得分:4)
Table
排序指标和TableViewer
使用的比较器实际上是独立的。
要删除排序指示符,请致电table.setSortDirection( SWT.NONE )
。要删除比较器,请致电viewer.setComparator( null )
。
您可以让用户在选择列标题时切换UP
,DOWN
,NONE
,或者提供额外的UI元素来重置排序。