【问题标题】:Sort JFace Treeviewer multiple column对 JFace Treeviewer 多列进行排序
【发布时间】:2016-08-04 20:55:43
【问题描述】:

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

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

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

问候, 沃尔多

【问题讨论】:

    标签: java eclipse-plugin eclipse-rcp jface


    【解决方案1】:

    这并不是真正自动的。

    你需要调用TreeColumn.addSelectionListener添加一个选择监听器来处理对树列标题的点击。

    然后您需要从TreeViewer 获取Tree

    Tree tree = viewer.getTree();
    

    然后调用

    tree.setSortColumn(treeColumn);
    

    设置指定的主排序列和

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

    设置指定的排序方向。

    打电话

    viewer.refresh();
    

    让查看者重做排序。

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

    【讨论】:

    • 哦,谢谢。我有点做到了,只是我没有直接使用 setSortColumn 和 setSortDirection,它可以工作,但最好按照你的方式去做。
    猜你喜欢
    • 1970-01-01
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多