NatTable で実装されたツリーの並べ替えを実装しようとしていますが、その仕組みがよくわかりません。私の問題は、「ツリー」列以外の列をソートした後、子ノードが無効な親に移動する可能性があることです。ただし、階層のすべてのレベルで要素の順序は正しいです。したがって、基本的にTreeList.Format.getComparator()
、列に登録されたコンパレーターの目的とそれがどのように関連しているかを理解していません。また、ノードが親を変更できるタイミングと理由もわかりません。
私は TreeGridExampleの例から始めましたが、同じ問題を抱えているテストデータを作成することができました
private void createDatums() {
createDatum(null, "a", 2);
createDatum("a", "aa1", 0);
createDatum(null, "b", 0);
createDatum("b", "bb1", 0);
createDatum(null, "m", 1);
createDatum(null, "n", 0);
}
列を並べ替えるbar
と、bb1
ノードはにジャンプしb
、n
並べ替えが削除されると、再びの子になりますb