【发布时间】:2011-01-28 21:13:25
【问题描述】:
我有一个来自远程对象的平面数据数组,我想对要分组的任何内容进行分组,但是将单个项目(没有与其他任何共同数据的那些)单独留下并且不分组,打开每个项目很烦人节点只是发现里面只有一个项目,所以无论如何都不需要把它放在那个组中。
这是有人做过的吗?我找不到任何参考,我不知道从 groupingcollection 中获取分层数据然后迭代它会有什么好处,听起来像是很多重复的工作。
【问题讨论】:
-
据我所见,这是不可能的,而且让它发生并非易事,很抱歉成为坏消息的承担者。我深入研究了 GroupingCollection.as 代码,发现 refresh() 方法调用了一个名为 makeGroupedCollection() 的私有方法,该方法又调用了另一个私有方法 buildGroups(),在该方法中有一个完成工作的循环。在我看来,您的选项是扩展 GroupingCollection 并覆盖刷新,或“猴子补丁”复制 GroupingCollection 并修改循环(即使 ADG 或其他 UI 可能对它期望 GC 如何呈现数据感到敏感)GL
-
另外,您可以制作一个显示分组集合计数的渲染器,这样至少您知道某些节点只有 1 个子节点(我们已经使用过它,这对我来说很有意义,维护分组行的一致行为,但无需扩展即可看到只有 1 个,尽管我知道这与仅查看内联数据不同)。
标签: apache-flex actionscript-3 flex4 advanceddatagrid