Flex 父窗口监听子窗口关闭并刷新DataGrid

来源:互联网 发布:centos忘记root密码 编辑:程序博客网 时间:2024/05/28 05:16

1.父窗口

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"><mx:Script><![CDATA[import mx.events.FlexEvent;import mx.events.DragEvent;import mx.events.ChildExistenceChangedEvent;import mx.collections.ArrayCollection;import mx.managers.PopUpManager;import mx.controls.Alert;import mx.events.CloseEvent;            [Bindable]            public var initDG:ArrayCollection=new ArrayCollection([                {Artist:'Pavement', Album:'Slanted and Enchanted', Price:11.99},                {Artist:'Pavement', Album:'Brighten the Corners', Price:11.99}]);            public function alertDiv():void            {            var win:tanchu = new tanchu();            win=tanchu(PopUpManager.createPopUp(this,tanchu,true));    //win.data=seq;    //win.addEventListener(CloseEvent.CLOSE,addObject);    PopUpManager.centerPopUp(win);    win.addEventListener(MyEvent.SAVE_OK,addObject);    //this.systemManager.addEventListener(CloseEvent.CLOSE,addObject);            }            public function addObject(evt:MyEvent):void            {            Alert.show("ok");            var obj:Object={Artist:'Pavement', Album:'Slanted and Enchanted', Price:11.99};            initDG.addItem(obj);//            myGrid.invalidateList();            //myGrid.validateNow();            }]]></mx:Script><mx:VBox width="100%" height="100%" backgroundColor="white"><mx:Button label="弹出窗口" click="alertDiv()"/><mx:DataGrid id="myGrid" width="350" height="200" dataProvider="{initDG}"><mx:columns><mx:DataGridColumn dataField="Album"/><mx:DataGridColumn dataField="Price"/></mx:columns></mx:DataGrid></mx:VBox></mx:Application>
2.子窗口

<?xml version="1.0" encoding="utf-8"?><mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"><mx:Script><![CDATA[import mx.managers.PopUpManager;import mx.controls.Alert;import mx.events.CloseEvent;public function closetanchu():void{var obj:Object={Artist:'Pavement', Album:'Slanted and Enchanted', Price:11.99};//var showdd:showDataGrid=new showDataGrid();//showdd.initDG.addItem(obj);//showdd.addObject();//Alert.show(showdd.initDG.length+"");//this.dispatchEvent(new MyEvent(MyEvent.SAVE_OK,obj));this.dispatchEvent(new MyEvent(MyEvent.SAVE_OK));PopUpManager.removePopUp(this);//dispatchEvent(new Event(CloseEvent.CLOSE));}]]></mx:Script><mx:Button label="欢迎" click="closetanchu()"/></mx:Canvas>
3.自定义事件

package{import flash.events.Event;public class MyEvent extends Event{public static const SAVE_OK:String="saveOk";private var _data:Object;public function MyEvent(type:String,data:Object=null,bubbles:Boolean=false,cancelable:Boolean=false){this._data=data;super(type,bubbles,cancelable);}public function get data():Object{return _data;}public function set data(value:Object):void{_data=value;}}}




0 0
原创粉丝点击