?
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.APPLICATION PopUpManagerChildList.POPUP PopUpManagerChildList.PARENT (默认). Class :
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 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; ??
-
?? ??
-
?????????
-
??????? 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: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:Label width="40%" text="name:"/> ??
-
??????? <mx:Label text="{personVO.name}"/>?? ??
-
?????? </mx:HBox> ??
-
?????? <mx:Label width="40%" text="language:"/> ??
-
??????? <mx:Label text="{personVO.language}"/> ??
-
?????? </mx:Label width="40%" text="workYears:"/> ??
-
??????? <mx:Label text="{personVO.workYears}"/> ??
-
?????? </mx:Label width="40%" text="married:"/> ??
-
??????? <mx:Label text="{personVO.married}"/> ??
-
?????? </mx:HBox> ??
-
</mx:VBox> ??
-
<mx:Script> ??
-
?????? <![CDATA[ ??
-
???????import 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; ??
-
} ??
|
|
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|