как отобразить ArrayCollection в группе с ITEMRENDER | ACTIONSCRIPT - PullRequest
0 голосов
/ 27 июля 2011

У меня есть Arraycollection, которая содержит в себе другие массивы. я хочу отобразить данные внутри с визуализацией элемента, но не могу это сделать Вот пример кода, чтобы объяснить мой вопрос

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

и это элемент рендеринга

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

что я не понимаю, так это что за данными? в коллекции массивов данные выглядят так: myArrayCollection -> [0] -> firstname

Итак, когда я связываю данные с визуализацией элемента, как мне представить [x], чтобы получить конкретное имя, которое я хочу? это явно не сработает

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

и еще одна вещь - это самый легкий способ отображения данных в списке \ группе с простым рендерингом элементов (изображение и текст)

спасибо вперед 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]   

есть ли способ отобразить его с помощью рендера предметов? я не могу сделать это

и я преобразовал его в массив коллекций с кодом выше, а затем данные выглядели так:

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 голосов
/ 27 июля 2011

Визуализация элемента имеет функцию с именем set data, которая вызывается автоматически за кулисами (в родительском классе). Таким образом, данные, это не массив ... это ваш ряд. Поэтому вам нужно просто сделать {data.name}, предполагая, что объект находится в вашей коллекции массивов со свойством "name".

Если ваша коллекция массивов - просто строки ... тогда вы просто используете {data}. Если у вас есть объект с расположением изображения и именем, просто свяжите эти свойства так же, как вы указали имя.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...