2016-08-04 12 views
0

私は、いつでも彼が列見出しをクリックするだけで、TreeViewerを並べ替えることができるようにしたいと思います。しかし、私はそれを行う適切な方法を知らない。JFace Treeviewer複数の列を並べ替え

ViewerComparatorを使用してさまざまな要素を並べ替えることができます。しかし、リスナーを適切に昇順または降順に設定する方法はわかりません。

ユーザーが列の並べ替えで降順または昇順を選択できるように、JFaceライブラリでARROWを自動的に使用する方法はありますか?

よろしく、 ワルド

答えて

0

これは本当に自動ではありません。

ツリー列ヘッダーのクリックに対処する選択リスナーを追加するには、TreeColumn.addSelectionListenerに電話する必要があります。

あなたはその後、

Tree tree = viewer.getTree(); 

TreeViewerからTreeを取得し、設定することが示された主なソート列と

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

を設定する

tree.setSortColumn(treeColumn); 

を呼び出す必要があります指定されたソート方向。

viewer.refresh(); 

コールは、視聴者がソートをやり直すようにします。

あなたのコンパレータでの並べ替えるには、列(複数可)を追跡する必要があります。

+0

ああはあなたに感謝します。私はまあちょうど私はsetSortColumnとsetSortDirectionを直接使用していませんでした、それは働いていますが、それはあなたのやり方で行うべきです。 – Waldo

関連する問題