排序 JFace Treeviewer 多列
Sort JFace Treeviewer multiple column
我希望用户能够随时对 TreeViewer
进行排序,只需单击 header 列即可。但是我不知道正确的方法。
我发现我们可以使用 ViewerComparator
来对不同的元素进行排序。但是,我不知道如何设置监听器才能正确地进行升序或降序排序。
有没有办法让 JFace 库自动有一个箭头,让用户在列排序中选择降序或升序?
此致,
沃尔多
这不是真正的自动。
您需要调用TreeColumn.addSelectionListener
添加一个选择监听器来处理树列的点击headers。
然后您需要使用
从 TreeViewer
获取 Tree
Tree tree = viewer.getTree();
然后调用
tree.setSortColumn(treeColumn);
设置指示的主要排序列和
tree.setSortDirection(SWT.UP) // or SWT.DOWN
设置指示的排序方向。
通话
viewer.refresh();
让观众重做排序。
您需要跟踪要在比较器中排序的列。
我希望用户能够随时对 TreeViewer
进行排序,只需单击 header 列即可。但是我不知道正确的方法。
我发现我们可以使用 ViewerComparator
来对不同的元素进行排序。但是,我不知道如何设置监听器才能正确地进行升序或降序排序。
有没有办法让 JFace 库自动有一个箭头,让用户在列排序中选择降序或升序?
此致, 沃尔多
这不是真正的自动。
您需要调用TreeColumn.addSelectionListener
添加一个选择监听器来处理树列的点击headers。
然后您需要使用
从TreeViewer
获取 Tree
Tree tree = viewer.getTree();
然后调用
tree.setSortColumn(treeColumn);
设置指示的主要排序列和
tree.setSortDirection(SWT.UP) // or SWT.DOWN
设置指示的排序方向。
通话
viewer.refresh();
让观众重做排序。
您需要跟踪要在比较器中排序的列。