我正在尝试实现用 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);
}
如果我对 column 进行排序bar
,则bb1
节点从b
to跳转,n
并且在删除排序时,它又是b