Apache flex 如何显示按类别排序的列表,并在该类别的第一项上方显示类别标题?
我正试图显示一个按字段County排序的数据列表。目前,我将ArrayCollection设置为spark列表的数据提供程序。我有一个项目渲染器附加到列表中,一切正常。如列表所示,它按县正确排序 但是,我想做的是让类别中的第一项前面加上类别名称,这样我们就可以得到类似这样的输出 县1 县1项目 县1项目 县1项目 县1项目 县2 第2县项目 第2县项目 第2县项目 第2县项目 县3 第3县项目 第3县项目 第3县项目 第3县项目Apache flex 如何显示按类别排序的列表,并在该类别的第一项上方显示类别标题?,apache-flex,flex4.5,Apache Flex,Flex4.5,我正试图显示一个按字段County排序的数据列表。目前,我将ArrayCollection设置为spark列表的数据提供程序。我有一个项目渲染器附加到列表中,一切正常。如列表所示,它按县正确排序 但是,我想做的是让类别中的第一项前面加上类别名称,这样我们就可以得到类似这样的输出 县1 县1项目 县1项目 县1项目 县1项目 县2 第2县项目 第2县项目 第2县项目 第2县项目 县3 第3县项目 第3县项目 第3县项目 第3县项目 我们团队中的另一个程序员通过在下一个县的第一个项目之前注入一个新的
我们团队中的另一个程序员通过在下一个县的第一个项目之前注入一个新的县名称项目来实现这一点。该项的id为-1,由ItemRenderer进行不同的处理。在我看来,这样做根本不是正确的方式。有谁有更好的建议吗?如果我正确理解了您的问题,解决方案相当简单:在主列表的ItemRenderer中添加一个附加列表 自定义ItemRenderer的一个示例:
<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>
产生这种输出:
[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"])}
]);