2015-02-07 58 views
0

在这段代码特定部分:如何从阵列收集特定项目在Adobe Flex的4.6

<s:DataGroup 
    dataProvider="{prodCollection}" 
    itemRenderer="spark.skins.spark.DefaultItemRenderer"> 

    <s:layout> 
    <s:HorizontalLayout /> 
    </s:layout> 
</s:DataGroup> 

ArrayCollection从一个XML文件,但prodCollection(绑定)建立由许多儿童形成。其实这段代码返回[obj][obj],我想提取一个:product_name

我尝试没有结果:prodCollection.getItemAt(i).product_name

  • 使用idHttpservice.LastResult.Lista.product_name in dataprovider="{}"
  • XML文件的一部分:

    <lista> 
        <Prodotto> 
        <fam>Soft Drink</fam> 
        <product_name>Coca Cola</product_name> 
        <image>images/coca_cola.gif</image> 
        </Prodotto> 
    </lista> 
    

    • 按功能使用循环谢谢。

    回答

    0

    只需使用自定义项目渲染而不是DefaultItemRenderer,而在这样一个单独的文件定义它:

    <s:ItemRenderer xmlns="..."> 
    
        <s:Label text="{ data.product_name }"/> 
        ... 
    </s:ItemRenderer> 
    
    +0

    感谢现在的工作。请你能告诉我为什么在单独的组件中,道具“数据”有效吗?谢谢。 – 2015-02-09 10:02:50

    +0

    'data'是ItemRenderer类的一个属性,它包含来自数据提供者的单个项目。您可以传递任何类型的数据并在您的自定义项目渲染器中以您想要的方式渲染它。 – davee44 2015-02-09 13:34:21

    +0

    谢谢,但如果我创建一个新的自定义组件我能够使用数据道具..为什么?它不仅仅是一个itemRenderer ..它接缝是所有自定义组件。就像创建一个超类?感谢您的耐心:) – 2015-02-09 17:27:50