Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Передача данных кастомному компоненту в itemRenderer dataGrid'а (http://www.flasher.ru/forum/showthread.php?t=134299)

iflamberg 25.12.2009 19:51

Передача данных кастомному компоненту в itemRenderer dataGrid'а
 
был вот такой код:
Код AS3:

            <mx:DataGrid id="top50" selectable="false" width="377">
                <mx:columns>
                    <mx:DataGridColumn headerText="Страна" dataField="label" />
                    <mx:DataGridColumn headerText="Флаг">
                        <mx:itemRenderer>
                            <mx:Component>
                            <mx:Image source="{data.img}" />
                            </mx:Component>
                        </mx:itemRenderer>
                    </mx:DataGridColumn>
                    <mx:DataGridColumn headerText="Соединения" dataField="count" />
                </mx:columns>
            </mx:DataGrid>

поменял на вот такой:
Код AS3:

            <mx:DataGrid id="top50" selectable="false" width="377">
                <mx:columns>
                    <mx:DataGridColumn headerText="Страна" dataField="label" />
                    <mx:DataGridColumn headerText="Флаг">
                        <mx:itemRenderer>
                            <mx:Component>
                            <qs:SuperImage source="{data.img}" />
                            </mx:Component>
                        </mx:itemRenderer>
                    </mx:DataGridColumn>
                    <mx:DataGridColumn headerText="Соединения" dataField="count" />
                </mx:columns>
            </mx:DataGrid>

т.е., собственно, поменял <mx:Image source="{data.img}" /> на <qs:SuperImage source="{data.img}" />, где SuperImage - кастомный компонент, который я нашел в интернете (полностью рабочий).
Ругается именно в этой же строчке на
Код:

1120: Обращение несуществующего свойства data.        ctfmstats/src        BaseReport.mxml
Т.е. {data.img} ему не нравится. Где же ошибка?

wvxvw 25.12.2009 20:59

А у SuperImage есть свойство data?

alatar 25.12.2009 21:39

Если это класс с www.quietlyscheming.com, то есть. И должно работать.

iflamberg 25.12.2009 22:04

Цитата:

Если это класс с www.quietlyscheming.com, то есть. И должно работать.
да, это класс оттуда.
вообще говоря такого свойства у SuperImage нет.
Но в примере примере похожий код работает:
Код AS3:

                        <List width="100%" height="100%" dataProvider="{photos}" variableRowHeight="true" id="superImageList" scroll="syncScroll(event)">
                                <filters>
                                        <filters:DropShadowFilter strength="1" color="#AAAAAA" blurX="15" blurY="15"/>
                                </filters>
                                <itemRenderer>
                                        <Component>
                                                <HBox horizontalScrollPolicy="off" verticalScrollPolicy="off" verticalAlign="middle" paddingTop="5" paddingBottom="5"
                                                        borderStyle="solid" borderColor="#8AA6D4" borderSides="bottom">
                                                        <controls:SuperImage  source="{data.@url}" width="83" height="83" />
                                                        <Label text="{data.@title}" fontSize="14" fontFamily="Georgia" />
                                                </HBox>
                                        </Component>
                                </itemRenderer>
                        </List>

и я, так понимаю, через data в списках и их производных передается текущий элемент обрабатываемого списка.

alatar 25.12.2009 23:25

Цитата:

Сообщение от iflamberg (Сообщение 875302)
вообще говоря такого свойства у SuperImage нет.

а это что?

Код AS3:

[Bindable] public function set data(value:Object):void
    {
        source = value;
    }
    public function get data():Object
    {
        return source;
    }

Добавлено через 1 минуту
Другой вопрос, что XML он не потребляет.


Часовой пояс GMT +4, время: 09:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.