2016-08-04 118 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