我有一个flex 3数据网格,它与我试图从中引用的对象完全独立的容器 - 即数据网格在vbox中,我试图从弹出窗口设置数据网格中的属性
如何从弹出窗口访问数据网格? 我想做点什么:
myView.myDatagrid.resizableColumns = false;
如果有任何帮助,可以使用cairngorm作为框架。
答案 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"/>