我有一个关于将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