如何在ITEMRENDER |组中显示ArrayCollection ACTIONSCRIPT

时间:2011-07-27 17:24:32

标签: flex actionscript-3 arraycollection

我有一个Arraycollection,其中包含其他数组。 我想用一个项目渲染显示内部数据,但无法设法做到这一点 这是解释我的问题的示例代码

<s:DataGroup dataProvider="{news}"
                 itemRenderer="components.displaynews">

这是项目渲染

 <s:Label text="{data.??/}"/>

现在我不明白的是数据之后会发生什么?在数组集合中,数据如下所示:myArrayCollection-&gt; [0] - &gt; firstname

所以当我将数据绑定到项呈现时,我如何表示[x]来获取我想要的特定名称?这个显然不会工作

<s:Label text="{data.[0].name/}"/>

还有一件事是使用简单项目渲染(图像和文本)在list \ group中显示数据的最轻量方法

谢谢你 10倍的帮助!

            private function convertFBEventData2TreeData(eventData:Object):Object
        {
            var children:ArrayCollection = new ArrayCollection();
            var numAttrs:Number = 0;
            for (var attrName:String in eventData)
            {
                var val:Object = eventData[attrName];   
                if (val != null)
                    children.addItem({label:attrName, children:convertFBEventData2TreeData(val)});
                numAttrs++;
            }
            if (numAttrs == 0 && eventData != null)
            {
                children.addItem({label:eventData});
            }
            return children;
        }

这是我的数据

eventData   [] (@cb73bc9)   
[0] Object (@a3f9461)   
    actions [] (@cb736f1)   
    application null    
    created_time    "2011-07-29T11:46:31+0000"  
    from    Object (@a49c179)   
    id  "100002237793631_139378476146745"   
    message "2 And a half days on a 546 mile load just to find out they wont except the load,when we should b doin 1000 miles a day,somebody needs to get their shit together"  
    type    "status"    
    updated_time    "2011-07-29T11:46:31+0000"  
[1] Object (@ca53239)   
[2] Object (@d023a49)   
[3] Object (@d029059)   
[4] Object (@cb796e9)   
[5] Object (@d023ce9)   
[6] Object (@cb79809)   
[7] Object (@a49c6e9)   
[8] Object (@d0238c9)   
[9] Object (@d029a19)   
[10]    Object (@ca53509)   
[11]    Object (@d0261a9)   
[12]    Object (@a5b5a91)   
[13]    Object (@cb79a61)   
[14]    Object (@d025761)   
[15]    Object (@d023b09)   
[16]    Object (@a49c521)   
[17]    Object (@d0258e1)   
[18]    Object (@d0232b1)   
[19]    Object (@cb80c11)   
[20]    Object (@cb3e4c1)   
[21]    Object (@a5b25f9)   
[22]    Object (@d074491)   
[23]    Object (@d02f9e9)   
[24]    Object (@d024b81)   
length  25 [0x19]   

有没有办法用项目渲染显示它?我无法做到这一点

并使用上面的代码将其转换为arraycollection,然后数据如下所示:

resultsData mx.collections.ArrayCollection (@918cec1)   
[inherited] 
[0] Object (@d023779)   
[1] Object (@d024f29)   
    children    mx.collections.ArrayCollection (@ca1bac1)   
        [inherited] 
        [0] Object (@d0247a9)   
            children    mx.collections.ArrayCollection (@ca1bb01)   
            label   "updated_time"  
        [1] Object (@d0254f1)   
            children    mx.collections.ArrayCollection (@ca1bb41)   
            label   "id"    
        [2] Object (@d026d31)   
            children    mx.collections.ArrayCollection (@ca1bc01)   
            label   "from"  
        [3] Object (@d029461)   
            children    mx.collections.ArrayCollection (@ca1bcc1)   
            label   "link"  
        [4] Object (@d029b81)   
            children    mx.collections.ArrayCollection (@ca1bd01)   
            label   "type"  
        [5] Object (@d029b39)   
        [6] Object (@d02d491)   
        [7] Object (@d076671)   
        [8] Object (@d06f941)   
        [9] Object (@cb3e629)   
        [10]    Object (@d0235e1)   
        [11]    Object (@d0239b9)   
        [12]    Object (@d024ef9)   
        source  [] (@d07e0d9)   
    label   "1" 
[2] Object (@d023269)   
[3] Object (@d02f941)   
[4] Object (@d02d6d1)   
[5] Object (@d023479)   
[6] Object (@d076491)   
[7] Object (@cb3ea19)   
[8] Object (@cf9b4a9)   
[9] Object (@cf992f9)   
[10]    Object (@cfac689)   
[11]    Object (@cfa9d19)   
[12]    Object (@d0797d9)   
[13]    Object (@d02b2b1)   
[14]    Object (@d02ffb9)   
[15]    Object (@d025ca1)   
[16]    Object (@cfa2629)   
[17]    Object (@cfac2c9)   
[18]    Object (@cfb8c71)   
[19]    Object (@cfc4bb1)   
[20]    Object (@cfb8a91)   
[21]    Object (@cf99bb1)   
[22]    Object (@d0ad569)   
[23]    Object (@c9681f1)   
[24]    Object (@d0a7959)   
source  [] (@ca7c061)   

我也想不出一种让它在项目渲染中显示的方法!

项目渲染代码相当简单

<label text={data.??">

我不知道在数据之后要添加什么,我尝试了很多东西,但没有任何工作\:

1 个答案:

答案 0 :(得分:0)

项目渲染有一个名为set data的函数,它在幕后自动调用(在父类中)。所以数据,不是数组...它是你的行。所以你需要简单地{data.name}假设一个对象在你的数组集合中,并且属性为“name”。

如果您的数组集合只是字符串...那么您只需使用{data}。如果你有一个带有图像位置和名称的对象,那么只需按照你命名的方式绑定到这些属性。

希望这有帮助!