У меня вопрос Flex 3 об использовании includeInLayout с экземпляром компонента.
Итак, чтобы получить доступ к экземпляру моего компонента, я использовал что-то вроде этого:
var _myCard:Card = this["card"+cardNum];
Я хотел «отключить» сетку данных в компоненте, поэтому я использовал привязки на"includeInLayout" и "visible":
if(myArray.length == 0){
_myCard.myBoolean = false;
_myCardInstance.myBoolean = false;
}
Это сработало нормально.Сетка данных не была видна.Но мне было интересно, почему, я не мог получить доступ к includeInLayout и видимым свойствам напрямую.Почему я не могу сделать:
_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