浏览 6267 次
锁定老帖子 主题:Flex 父子窗口的数据交换
精华帖 (0) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-28
1 在Flex2中弹出式窗口的API如下 Package : mx.managers Class : PopUpManager Methods : addPopUp(window:IFlexDisplayObject, parent:DisplayObject, modal:Boolean = false, childList:String = null):void 参数解释: window : 要弹出的对象,这对象必须实现了IFlexDisplayObject接口,比如TitleWindow. parent : 子窗口的父窗口对象. modal : 模式弹出(true)还是非模式弹出(false). childList : 弹出式对象在那个对象下弹出. PopUpManagerChildList.APPLICATION PopUpManagerChildList.POPUP PopUpManagerChildList.PARENT (默认). 2 实例 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%"> <mx:Script> <![CDATA[ import mx.events.ListEvent; import com.demo.PersonVO; import mx.events.ItemClickEvent; import mx.collections.ArrayCollection; import mx.managers.PopUpManager; [Bindable] private var testDataSource : ArrayCollection = new ArrayCollection( [ {id : 1 ,name :"zhangsan",language : "java"}, {id : 2 ,name :"lisi",language : "c++"}, {id : 3 ,name :"qianwu",language : "vb"}, {id : 4 ,name :"xiaohong",language : "pb"}, {id : 5 ,name :"xiaoming",language : "perl"}, ]) private function showDetailPersonInfo(event : ListEvent) : void { var personVO : PersonVO =new PersonVO(); personVO.id = event.currentTarget.selectedItem.id personVO.name = event.currentTarget.selectedItem.name; personVO.language = event.currentTarget.selectedItem.language; //hard code the detail person information personVO.email = "test12638@163.com" personVO.married = false; personVO.workYears = "3 years" var personPopUpWindow : PersonInfomationPopWindow = new PersonInfomationPopWindow(); personPopUpWindow.personVO = personVO; PopUpManager.addPopUp(personPopUpWindow,this,true); PopUpManager.centerPopUp(personPopUpWindow); } ]]> </mx:Script> <mx:DataGrid dataProvider="{testDataSource}" width="100%" height="100%" itemClick="showDetailPersonInfo(event)"> <mx:columns> <mx:DataGridColumn dataField="id" headerText="编号" /> <mx:DataGridColumn dataField="name" headerText="名字" /> <mx:DataGridColumn dataField="language" headerText="开发语言" /> </mx:columns> </mx:DataGrid> </mx:Application> ------------------------------ <?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" showCloseButton="true" close="PopUpManager.removePopUp(this)"> <mx:VBox width="400" height="200" paddingTop="10" > <mx:HBox width="100%" paddingLeft="10"> <mx:Label width="40%" text="id:"/> <mx:Label text="{personVO.id}"/> </mx:HBox> <mx:HBox width="100%" paddingLeft="10"> <mx:Label width="40%" text="name:"/> <mx:Label text="{personVO.name}"/> </mx:HBox> <mx:HBox width="100%" paddingLeft="10"> <mx:Label width="40%" text="language:"/> <mx:Label text="{personVO.language}"/> </mx:HBox> <mx:HBox width="100%" paddingLeft="10"> <mx:Label width="40%" text="workYears:"/> <mx:Label text="{personVO.workYears}"/> </mx:HBox> <mx:HBox width="100%" paddingLeft="10"> <mx:Label width="40%" text="married:"/> <mx:Label text="{personVO.married}"/> </mx:HBox> </mx:VBox> <mx:Script> <![CDATA[ import mx.managers.PopUpManager; import com.demo.PersonVO; [Bindable] public var personVO : PersonVO = null;]]> </mx:Script> </mx:TitleWindow> ------------------------------------------- package com.demo { [Bindable] public class PersonVO { public var id : String = ""; public var name : String = ""; public var language : String = ""; public var email : String = ""; public var workYears : String = ""; public var married : Boolean = false; } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |