【发布时间】:2016-09-03 11:42:12
【问题描述】:
我正在尝试实现使用 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 的子节点
【问题讨论】:
标签: swt jface glazedlists nebula nattable