对JFace Treeviewer排序多列

时间:2016-08-04 12:09:04

标签: java eclipse-plugin eclipse-rcp jface

我希望用户能够通过单击列标题随时对TreeViewer进行排序。但是我不知道这样做的正确方法。

我发现我们可以使用ViewerComparator来排序不同的元素。但是,我不知道如何将侦听器设置为能够正确升序或降序排序。

有没有办法让JROace库自动使用ARROW让用户在列排序中选择降序或升序?

此致 沃尔多

1 个答案:

答案 0 :(得分:3)

这不是真的自动。

您需要调用TreeColumn.addSelectionListener添加选择侦听器来处理树列标题上的点击。

然后,您需要使用

Tree获取TreeViewer
Tree tree = viewer.getTree();

然后致电

tree.setSortColumn(treeColumn);

设置指示的主排序列和

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

设置指示的排序方向。

呼叫

viewer.refresh();

让观众重做排序。

您需要跟踪要在比较器中进行排序的列。