1

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ノードはにジャンプしbn並べ替えが削除されると、再びの子になりますb

4

2 に答える 2

0

コンパレーターは、ツリー階層を考慮する必要があります。

詳細については、こちらこちらを参照してください。

于 2016-05-09T10:40:04.793 に答える