我尝试从JFace TreeViewer切换到NatTable。不幸的是,我没有发现很多关于用NatTable实现树的文档。所以,我有一些问题使用NatTable的树实现
随着TreeViewer中我用
setInput()
提供新的输入。我怎样才能达到与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
需要注意的最重要的事实是您需要考虑两个比较器进行树排序。一个将树按正确的顺序放置一个内容。这听起来像你的比较器只检查内容,并不尊重树层次结构,因此打破了树结构。但没有进一步的信息,我不知道。如果这没有帮助,我还会建议创建一个新问题。 –
我创建了一个新问题,因为我差点放弃。即使使用示例代码,我也有这个问题。 http://stackoverflow.com/questions/37105593/sorting-of-tree-implemented-with-nattable – Joel