我使用一个带有XML文件的HorizontalList控件作为数据提供程序。XML的外观如下所示:
<data>
<zone name="Europe">
.
.
.
</zone>
<zone name="Japan">
<stores>
.
.
.
</stores>
<collections>
<collection id="id1">
<name>xxx</name>
<model>xxx</model>
<hierarchy>xxx</hierarchy>
<thumbnail>assets/xxx.PNG</thumbnail>
</collection>
<collection id="id1Bis">
<name>xxx</name>
<model>xxx</model>
<hierarchy>xxx</hierarchy>
<thumbnail>assets/xxx.PNG</thumbnail>
</collection>
<collection id="id2">
<name>xxx</name>
<model>xxx</model>
<hierarchy>xxx</hierarchy>
<thumbnail>assets/xxx.PNG</thumbnail>
</collection>
<collection id="id2Bis">
<name>xxx</name>
<model>xxx</model>
<hierarchy>xxx</hierarchy>
<thumbnail>assets/xxx.PNG</thumbnail>
</collections>
<clarities>
.
.
.
</clarities>
</zone>
</data>这是我的控件的外观
<mx:XML id="data" source="assets/SOD_division.xml"/>
<mx:HorizontalList
dataProvider="{data.division.(@name=='Japan').collections}"
columnCount="2"
itemRenderer="Renderer"
width="500"
horizontalScrollPolicy="off"
/>我尝试使用对象数组作为数据提供程序。项目渲染器工作,水平列表的行为正如我所期望的那样。然而,当我使用xml文件时,它是空的……
我不知道为什么它不起作用。-_-‘...
感谢您能提供的任何帮助=)
致敬,BS_C3
发布于 2010-03-05 01:34:09
我注意到的第一件事是,您的DP设置为:
dataProvider="{data.division.(@name=='Japan').collections}"但这不是您的XML的结构。按照您的XML示例操作,您的DP应为:
dataProvider="{data.zone.(@name=='Japan').collections}"现在,当您可能需要一个XMLList对象时,这将返回一个XML对象,在这种情况下,您的DP应该是
dataProvider="{data.zone.(@name=='Japan').collections.collection}"或者,如果您不关心孩子的本地名字:
dataProvider="{data.zone.(@name=='Japan').collections.children()}"https://stackoverflow.com/questions/2381117
复制相似问题