Apache flex AdobeFlex引用另一个对象

Apache flex AdobeFlex引用另一个对象,apache-flex,datagrid,adobe,Apache Flex,Datagrid,Adobe,我有一个flex 3 datagrid,它位于一个与我试图引用它的对象完全不同的容器中,即datagrid位于vbox中,我试图从弹出窗口在datagrid中设置一个属性 如何从弹出窗口访问datagrid? 我想做一些类似的事情: myView.myDatagrid.resizableColumns = false; 使用cairngorm作为框架,如果有帮助的话。您必须更好地解释您的体系结构,才能得到具体的答案。正如我所说的,在另一个组件上运行方法也适用于访问属性 一种解决方案是将Data

我有一个flex 3 datagrid,它位于一个与我试图引用它的对象完全不同的容器中,即datagrid位于vbox中,我试图从弹出窗口在datagrid中设置一个属性

如何从弹出窗口访问datagrid? 我想做一些类似的事情:

myView.myDatagrid.resizableColumns = false;

使用cairngorm作为框架,如果有帮助的话。

您必须更好地解释您的体系结构,才能得到具体的答案。正如我所说的,在另一个组件上运行方法也适用于访问属性


一种解决方案是将DataGrid实例作为实例变量传递到弹出窗口中;然后,弹出窗口将能够轻松更改DataGrid的属性

添加弹出窗口时,需要监听事件。然后,弹出窗口需要分派一个父级可以处理的事件

myPopup.addEventListener(SomeEvent.DISABLE_COLUMNS,disableResize);
然后在父组件中

public function disableResize(event:SomeEvent):void{
   myDatagrid.resizableColumns = false;
}
这假定一个名为SomeEvent的自定义事件。。。实际上,您可以创建一个默认的Flash事件,并将其命名为

 dispatchEvent(new Event("MyDisableResizeEvent"));
假设弹出窗口中有一个按钮:

<mx:Button click="{dispatchEvent(new Event('MyDisableResizeEvent'));}" label="Disable Resizing"/>