首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何显示按类别排序的列表,其中类别标题位于该类别中第一个项目的上方?

如何显示按类别排序的列表,其中类别标题位于该类别中第一个项目的上方?
EN

Stack Overflow用户
提问于 2011-08-12 21:31:20
回答 1查看 293关注 0票数 1

我正在尝试显示一个按字段County排序的数据列表。目前,我有一个ArrayCollection设置,作为spark列表的数据提供者。我在列表中附加了一个ItemRenderer,一切工作正常。如列表所示,它是按County正确排序的。

然而,我尝试做的是让Category中的第一项在Category名称之前,这样我们就会得到类似这样的输出。

县1

县1中的物料县1中的物料

县2

县2中的物料县2中的物料

县3

3县项目3县3项目

我们团队中的另一位程序员通过在下一个县的第一个项之前注入一个新的县名称项来实现这一点。该项目的id为-1,并且由ItemRenderer以不同方式进行处理。在我看来,这根本不是正确的做法。有没有更好的建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-12 21:51:00

如果我正确理解了您的问题,那么解决方案非常简单:在主列表的ItemRenderer中添加一个附加列表。

自定义ItemRenderer的示例:

代码语言:javascript
运行
复制
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                xmlns:s="library://ns.adobe.com/flex/spark">

    <s:layout>
        <s:VerticalLayout />
    </s:layout>

    <s:Label id="labelDisplay" fontSize="16" />

    <s:List dataProvider="{data.children}" borderVisible="false">
        <s:layout>
            <s:HorizontalLayout />
        </s:layout>
    </s:List>

</s:ItemRenderer>

然后,您的数据提供程序可能如下所示:

代码语言:javascript
运行
复制
[Bindable]
private var dp:ArrayList = new ArrayList([
    {label: "County 1", children: new ArrayList(["A", "B", "C"])},
    {label: "County 2", children: new ArrayList(["D"])},
    {label: "County 3", children: new ArrayList(["E", "F"])}
]);

产生以下输出:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7040795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档