gpt4 book ai didi

java - 如何对 NatTable 中的每一列使用不同的比较器对 TreeList 进行排序

转载 作者:行者123 更新时间:2023-12-02 04:51:51 25 4
gpt4 key购买 nike

我正在使用 NatTable 显示具有多列的树。该树被展平为一个 SortedList,用于创建 TreeList。

EventList<Person> eventList = GlazedLists.eventList(perfStats.getFlattenedTree());
TransformedList<Person, Person> rowObjectsGlazedList = GlazedLists.threadSafeList(eventList);
SortedList<Person> sortedList = new SortedList<(rowObjectsGlazedList, null);
TreeList treeList = new TreeList(sortedList, treeFormat, TreeList.nodesStartCollapsed());

这可以显示树。但是,现在我的问题是如何正确排序?

期望的结果是根被正确排序,然后内部的子元素独立正确排序,依此类推。

现在,我正在使用 GlazedListsSortModel,它对展平的树进行排序,然后根据不起作用的树构建显示。

任何帮助或只是为我指明正确的方向将不胜感激!

最佳答案

当使用TreeList时,您可以通过TreeList#Format传入树结构的Comparator。这是为了确保正确创建树所必需的,因为它是从 List 派生的。因此,即使通过 SortedList 应用排序,TreeList#FormatComparator 最终也会获胜。

为了解决您的要求,您需要实现一个考虑列排序的TreeList#Format。例如,这可以通过使用 NatTable SortableTreeComparator 来完成。您可以看看我们的TreeGridExample了解这可能是什么样子。

更扩展的版本可以在 GroupByComparator 中看到。用于通过 GroupBy 功能支持按列排序。

关于java - 如何对 NatTable 中的每一列使用不同的比较器对 TreeList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56432516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com