2016-08-04 104 views
0

我希望用戶只要點擊列標題就可以隨時排序TreeViewer。但是我不知道正確的做法。對JFace Treeviewer多列進行排序

我發現我們可以用ViewerComparator來排序不同的元素。但是,我不知道如何設置聽衆能夠正確地升序或降序排序。

有沒有辦法使用JFace Library自動生成ARROW以讓用戶在列排序中選擇降序還是升序?

問候, 金都

回答

0

這不是真正的自動。

您需要致電TreeColumn.addSelectionListener添加選擇偵聽器來處理樹列標題上的點擊。

然後,您將需要與

Tree tree = viewer.getTree(); 

TreeViewer得到Tree,然後調用

tree.setSortColumn(treeColumn); 

設置指示主排序列和

tree.setSortDirection(SWT.UP) // or SWT.DOWN 

設置指示的排序方向。

呼叫

viewer.refresh(); 

,使觀衆重新排序。

您需要跟蹤在比較器中排序的列。

+0

哦,謝謝。我有點這樣做,只是我沒有使用setSortColumn和setSortDirection並直接,它的工作,但它應該更好地做你的方式。 – Waldo