2010-09-06 38 views
0

我有一個關於在組件實例中使用includeInLayout的Flex 3問題。Flex 3在組件實例中訪問IncludeInLayout

因此,訪問我的組件的情況下,我使用的是這樣的:

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

我想「關閉」在組件數據網格,所以我用「includeInLayout」綁定和「可見」:

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

回答

0

哪些錯誤與myGrid.includeInLayout=false;

其讀寫property

+0

嗨尤金,感謝您的留言。 myGrid在組件中,所以在主應用程序中不起作用。 – Laxmidi 2010-09-07 16:35:58

+0

這是什麼意思?你能展示你的最終代碼嗎? – Eugene 2010-09-07 17:06:38