web 2.0/FLEX

[Flex]동적인 갯수의 컴포넌트 접근하기~

미련곰 2009. 9. 1. 01:02

vb 라는 id를 가진 VBox 를 기준으로 자식들중 Text컴포넌트에만 접근, 

컴포넌트에 name을 준후 getChildByName를 이용해서도 가능하다... (요건 나중에~ㅋㅋ)


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="test11()">
    <mx:Script>
        <![CDATA[
            import mx.containers.VBox;
            private var tt:Text;
            private var vv:VBox;
            private function test11():void {
                var i:int;
                for(i = 0;i<vb.getChildren().length;i++) {
                   if(vb.getChildAt(i) is VBox) {
                       vv = vb.getChildAt(i) as VBox;
                       var j:int;
                       for(j = 0;j<vv.getChildren().length;j++) {
                           if(vv.getChildAt(j) is Text) {
                                tt = vv.getChildAt(j) as Text;
                                tt.text = "########### i::" + i + ", j::" + j; 
                                trace(tt.id);                    
                           }
                       }
                   }
                }
            }
        ]]>
    </mx:Script>
    <mx:VBox id="vb">
        <mx:VBox >
            <mx:Text id="test1" />
        </mx:VBox>
        <mx:VBox >
            <mx:Label id="ee" />
            <mx:Text id="test2" />
            <mx:Text id="test3" />
        </mx:VBox>
        <mx:VBox >
            <mx:Text id="test4" />
        </mx:VBox>
        <mx:VBox >
            <mx:Text id="test5" />
        </mx:VBox>   
    </mx:VBox>
</mx:Application>