Flex 3在组件实例中访问IncludeInLayout

时间:2010-09-06 02:47:57

标签: flex3 components instance

我有一个关于将includeInLayout与组件实例一起使用的Flex 3问题。

所以,为了访问我的组件的实例,我使用了这样的东西:

var _myCard:Card = this["card"+cardNum];

我想“关闭”组件中的datagrid,所以我在“includeInLayout”和“visible”上使用了绑定:

if(myArray.length == 0){
       _myCard.myBoolean = false;  
       _myCardInstance.myBoolean = false;
    }

这很好用。 dataGrid不可见。但是,我想知道为什么,我无法直接访问includeInLayout和visible属性。我为什么不能这样做:

_myCard.myGrid.visible = false;   
_myCard.myGrid.includeInLayout = false;

有没有办法没有绑定?绑定很好。我只是不明白为什么以上都行不通。我正在努力学习。

我的缩短组件如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Panel 
    xmlns:mx="http://www.adobe.com/2006/mxml"  layout="absolute" 
    width="500"
    height="400">



    <mx:Script>
        <![CDATA[

        import mx.collections.ArrayCollection;

        [Bindable]
        public var myBoolean: Boolean = true;

        ]]>
    </mx:Script>



        <mx:Text text="My Text" textAlign="center"/>

        <mx:DataGrid  id="myGrid"    
            y="200"
            dataProvider="{myInitGrid}"
            includeInLayout="{myBoolean}"
            visible="{myBoolean}">

            <mx:columns>
                <mx:DataGridColumn dataField="TopicA" headerText="Topic A" width="130"  textAlign="center" />
                <mx:DataGridColumn dataField="TopicB" headerText="Topic B"  width="130"  textAlign="center" />                  
            </mx:columns>
        </mx:DataGrid>

</mx:Panel>

谢谢!

-Laxmidi

1 个答案:

答案 0 :(得分:0)

myGrid.includeInLayout=false;怎么了?

它是一个读写property