JFace TreeViewerからNatTableに切り替えようとしています。残念ながら、NatTableを使ってツリーを実装することに関する多くのドキュメントは見つかりませんでした。だから私は、私は新しい入力を提供するために、setInput()
を使用TreeViewerではいくつかの質問NatTableを使ったツリーの実装
を持っています。どのようにNatTableで同じことを達成できますか?基になるデータソース
List
にclear()
とaddAll()
を呼び出すことは適切な方法ですか? (GlazedListsを使用しています)私は、
clear()
/addAll()
データベースのクエリ後に新しいデータを渡す方法を説明しました。そしてそれが展開されたツリーの状態が失われた後、すべてのノードが崩壊します。 JFace TreeViewerを使用して、私はgetExpandedElements()
/setExpandedElements()
の状態を維持しました。 NatTableに似たようなものがありますか?親ノードをクリックしたときにのみ子ツリーノードを読み込むことはできますか?私、私はそれでサイクルを持つことができますので、事前にすべてのツリーデータを構築することはできません(まあ、厳密に私のデータを話すことは本当に木ではありませんが、それは木のようにそれを表示すると便利です)
UPD:
- 私はソートに問題があります。私はここで同様の議論を見つけたhttps://www.eclipse.org/forums/index.php?t=msg&th=489524しかし、私はまだ深い理解がありません。
私の問題は:「ツリー」列の子ノード以外の任意の列でソートした後、無効な親に移動することができます。要素の順序は、階層のすべてのレベルで正しいですが。私はSortableTreeComparator
を使用し、treeComparator
として私のカスタムコンパレータを使用します(例ではGlazedLists.beanPropertyComparator
ではありません)。ここで何が間違っていますか?
ありがとうございました。私はすでに遅延ロードを実装しており、同じアプローチを使用しています。しかし、私は並べ替えに関して新しい問題に直面しました。私は私の質問を更新しました。あなたの助けは本当に感謝されます – Joel
注意する最も重要な事実は、ツリーソートのための2つのコンパレータを考慮する必要があるということです。 1つはコンテンツの正しい順番にツリーを持って来る。あなたのコンパレータは内容をチェックするだけで、ツリー階層を尊重しないので、ツリー構造が崩れてしまうようです。しかし、それ以上の情報がなければ、わかりません。それが助けにならないならば、私は新しい質問を作成することを提案します。 –
私はほとんどのために新しい質問を作成しました。私はこの例題のコードでも問題があります。 http://stackoverflow.com/questions/37105593/sorting-of-tree-implemented-with-nattable – Joel