Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Как изменить свойство у компонента? (http://www.flasher.ru/forum/showthread.php?t=94767)

Alexandor1984 19.04.2007 13:38

Как изменить свойство у компонента?
 
Объяснить проблему не смогу, потому приведу пример.
Есть код
Код:

<?xml version="1.0" ?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="addLabel()">
    <mx:Script>
        <![CDATA[
                import mx.controls.Label;
        private function addLabel():void
        {
                var lbl:Label = new Label();
                    for (var i:int = 0; i <= 6; i++)
                {
                        lbl = new Label();
                        MainVbx.addChild(lbl);
                        lbl.text = String(i);
                }
        }
        ]]>
    </mx:Script>
    <mx:Button label="3 -&gt; 9"/>
    <mx:VBox id="MainVbx" width="100%" height="100%">
    </mx:VBox>
</mx:Application>

Вопрос: подскажите, как добраться до лабела с цифрой 3 и поменять ее на цифру 9?

etc 19.04.2007 13:43

Задать ему name.

Alexandor1984 19.04.2007 13:52

А потом?
Как обратиться по имени?

etc 19.04.2007 14:00

getChildByName

А можно было просто сохранить ссылку на него.

Alexandor1984 19.04.2007 14:37

Чтото вроде этого getChildByName("name1").text = "9" ?
Дык не работает.

etc 19.04.2007 14:55

Дык, MainVbx.getChildByName.
Да и проще ссылку сделать.

Alexandor1984 19.04.2007 15:03

А как ссылку сделать?

etc 19.04.2007 15:46

Код:

private function addLabel():void
        {
                var lbl:Label;
                var myLabel:Label;
                    for (var i:int = 0; i <= 6; i++)
                {
                        lbl = new Label();
                        if (i==3) {
                              myLabel = lbl;
                        }
                        MainVbx.addChild(lbl);
                        lbl.text = String(i);
                }
                myLabel.text = "9";
        }


Alexandor1984 19.04.2007 15:57

А если мне надо поменять 4 на 12, то и для 4 лабела тож ссылку создавать? Или мне надо поменять цифры на всех лабелах, то создавать ссылки для каждого лабела?
Я наверное чтото не понимаю.

etc 19.04.2007 16:06

Задать всем name в виде 'lbl'+число и обращаться через getChildByName.


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

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