2015-01-26 30 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

相關問題