Adobe Flex引用另一个对象

时间:2011-06-06 16:18:53

标签: flex datagrid adobe

我有一个flex 3数据网格,它与我试图从中引用的对象完全独立的容器 - 即数据网格在vbox中,我试图从弹出窗口设置数据网格中的属性

如何从弹出窗口访问数据网格? 我想做点什么:

myView.myDatagrid.resizableColumns = false;

如果有任何帮助,可以使用cairngorm作为框架。

2 个答案:

答案 0 :(得分:0)

您必须更好地解释您的架构以获得具体答案。 This answer may help正如我所说的关于在另一个组件上运行方法的所有内容,也适用于访问属性。

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

答案 1 :(得分:0)

添加弹出窗口时,需要侦听事件。然后你的PopUp需要调度一个父进程可以处理的事件。

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"/>