Flex 父子窗口的数据交换

来源:互联网 发布:大庆 华为云计算 编辑:程序博客网 时间:2024/05/21 17:22
 

Flex 中父窗口和子窗口的数据交换的实现如下. 1 在Flex2中弹出式窗口的API如下 Package : mx.managersPopUpManager Methods : addPopUp(window:IFlexDisplayObject, parent:DisplayObject, modal:Boolean = false, childList:String = null):void 参数解释: window : 要弹出的对象,这对象必须实现了IFlexDisplayObject接口,比如TitleWindow. parent : 子窗口的父窗口对象. modal : 模式弹出(true)还是非模式弹出(false). childList : 弹出式对象在那个对象下弹出.PopUpManagerChildList.APPLICATIONPopUpManagerChildList.POPUPPopUpManagerChildList.PARENT (默认).Class :

2 实例

  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">   
  3. <mx:Script>   
  4. <![CDATA[   
  5. importmx.events.ListEvent;   
  6. import com.demo.PersonVO;   
  7. importmx.events.ItemClickEvent;   
  8. importmx.collections.ArrayCollection;   
  9. importmx.managers.PopUpManager;   
  10. [Bindable]   
  11. private var testDataSource : ArrayCollection =new ArrayCollection(   
  12. [       {id : 1 ,name :"zhangsan",language :"java"},   
  13.         {id : 2 ,name :"lisi",language :"c++"},   
  14.         {id : 3 ,name :"qianwu",language :"vb"},   
  15.         {id : 4 ,name :"xiaohong",language :"pb"},   
  16.         {id : 5 ,name :"xiaoming",language :"perl"},   
  17. ])   
  18.   
  19. private function showDetailPersonInfo(event : ListEvent) :void  
  20. {   
  21.         var personVO : PersonVO =new PersonVO();   
  22.      
  23.         personVO.id = event.currentTarget.selectedItem.id   
  24.         personVO.name = event.currentTarget.selectedItem.name;   
  25.         personVO.language = event.currentTarget.selectedItem.language;   
  26.      
  27.        //hard code the detail person information  
  28.         personVO.email = "test12638@163.com"  
  29.         personVO.married = false;   
  30.         personVO.workYears = "3 years"  
  31.      
  32.         var personPopUpWindow : PersonInfomationPopWindow =new PersonInfomationPopWindow();   
  33.         personPopUpWindow.personVO = personVO;   
  34.        PopUpManager.addPopUp(personPopUpWindow,this,true);   
  35.        PopUpManager.centerPopUp(personPopUpWindow);   
  36. }   
  37.   
  38. ]]>   
  39. </mx:Script>   
  40. <mx:DataGrid dataProvider="{testDataSource}" width="100%" height="100%" itemClick="showDetailPersonInfo(event)">   
  41. <mx:columns>   
  42.         <mx:DataGridColumn dataField="id" headerText="编号" />   
  43.         <mx:DataGridColumn dataField="name" headerText="名字" />   
  44.         <mx:DataGridColumn dataField="language" headerText="开发语言" />   
  45. </mx:columns>   
  46. </mx:DataGrid>   
  47. </mx:Application>   
  48. ------------------------------   
  49. <?xml version="1.0" encoding="utf-8"?>   
  50. <mx:TitleWindow   
  51. xmlns:mx="http://www.adobe.com/2006/mxml"   
  52. width="400"   
  53. height="300"   
  54. showCloseButton="true"   
  55. close="PopUpManager.removePopUp(this)">   
  56. <mx:VBox width="400" height="200" paddingTop="10" >   
  57.        <mx:HBox width="100%" paddingLeft="10">   
  58.         <mx:Label width="40%" text="id:"/>   
  59.         <mx:Label text="{personVO.id}"/>     
  60.        </mx:HBox>      
  61.        <mx:HBox width="100%" paddingLeft="10">   
  62.         <mx:Label width="40%" text="name:"/>   
  63.         <mx:Label text="{personVO.name}"/>     
  64.        </mx:HBox>   
  65.        <mx:HBox width="100%" paddingLeft="10">   
  66.         <mx:Label width="40%" text="language:"/>   
  67.         <mx:Label text="{personVO.language}"/>   
  68.        </mx:HBox>   
  69.        <mx:HBox width="100%" paddingLeft="10">   
  70.         <mx:Label width="40%" text="workYears:"/>   
  71.         <mx:Label text="{personVO.workYears}"/>   
  72.        </mx:HBox>   
  73.        <mx:HBox width="100%" paddingLeft="10">   
  74.         <mx:Label width="40%" text="married:"/>   
  75.         <mx:Label text="{personVO.married}"/>   
  76.        </mx:HBox>   
  77. </mx:VBox>   
  78. <mx:Script>   
  79.        <![CDATA[   
  80.        importmx.managers.PopUpManager;   
  81.        import com.demo.PersonVO;   
  82.         [Bindable]   
  83.        public var personVO : PersonVO =null;]]>   
  84. </mx:Script>   
  85. </mx:TitleWindow>   
  86. -------------------------------------------   
  87. package com.demo   
  88. {   
  89. [Bindable]   
  90. publicclass PersonVO   
  91. {   
  92.      
  93.       public var id : String ="";   
  94.       public var name : String ="";   
  95.       public var language : String ="";   
  96.       public var email : String ="";   
  97.       public var workYears : String ="";   
  98.       public var married : Boolean =false;   
  99. }   
原创粉丝点击