我尝试从 JFace TreeViewer 切换到 NatTable。不幸的是,我没有找到很多关于使用 NatTable 实现树的文档。所以我有一些问题
我曾经使用 TreeViewer
setInput()
提供新的输入。我怎样才能用 NatTable 达到同样的效果?这是调用底层数据源的正确clear()
方法addAll()
吗List
?(我使用 GlazedLists)我在查询数据库后使用描述
clear()
/addAll()
方式传递新数据。并且在树的展开状态丢失后,所有节点都折叠起来。使用 JFace TreeViewer,我使用getExpandedElements()
/setExpandedElements()
来保持展开状态。NatTable 中有类似的东西吗?是否可以仅在单击父节点时加载子树节点?我无法预先构建所有树数据,因为我可以在其中包含循环(严格来说,我的数据并不是真正的树,但像树一样显示它很方便)
UPD:不知道我应该在这里问还是创建单独的问题
- 我有排序问题。我在这里找到了类似的讨论https://www.eclipse.org/forums/index.php?t=msg&th=489524但我仍然没有深入的了解。
我的问题:在对“树”列之外的任何列进行排序后,子节点可以移动到无效的父节点。尽管元素的顺序在所有层次结构上都是正确的。我使用SortableTreeComparator
和treeComparator
使用我的自定义比较器(不像GlazedLists.beanPropertyComparator
示例中那样)。这里有什么问题?