加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex 父窗口 子窗口 数据传递

发布时间:2020-12-15 04:57:38 所属栏目:百科 来源:网络整理
导读:Flex 父窗口 子窗口 数据传递 2009-01-11 1:51 这里通过一个实例演示Flex父窗口和弹出的子窗口之间的数据传输。 先创建一个MXML component 命名为ListTitleWindow.mxml (Based on : TitleWindow) xml 代码 ? xml ? version = "1.0" ? encoding = "utf-8" ? ?

Flex 父窗口 子窗口 数据传递
2009-01-11 1:51

这里通过一个实例演示Flex父窗口和弹出的子窗口之间的数据传输。

先创建一个MXML component 命名为ListTitleWindow.mxml (Based on : TitleWindow)

xml 代码
  1. <?xml?version="1.0"?encoding="utf-8"?>??
  2. <mx:TitleWindow?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="vertical"?width="400"?height="300"??
  3. ????creationComplete="initComponent()"??
  4. ??????showCloseButton="true"??
  5. ??????close="closeWindow()">??
  6. ???? ??
  7. ????<mx:Script>??
  8. ??
  9. ????????<CDATA??
  10. ????????? ??
  11. ???????? /* 数据xml格式如下: ??
  12. ????????????<items>??
  13. ????????????????<item?label="Tom"?data="num001"/>??
  14. ????????????????<item?label="Lucy"?data="num002"/>??
  15. ????????????</items>???
  16. ???????? */ ??
  17. ???????? ??
  18. ????????? import mx.managers.PopUpManager; ??
  19. ????????? import mx.rpc.events.ResultEvent; ??
  20. ????????? import mx.controls.Alert; ??
  21. ????????? ??
  22. ????????? [Bindable]public var?mainApp:Object?=?null;?? ??
  23. ????????? [Bindable]public var headTitle:String;???????? ??
  24. ????????? [Bindable]public var url:String; ??
  25. ????????? [Bindable]public var selectedItem:Object; ??
  26. ????????? [Bindable]public var callbackFunction:Function;?? //回调函数 ??
  27. ????????? ??
  28. ????????? private function initComponent():void { ??
  29. ???????????? //listDataService.url?= url; ??
  30. ???????????? listDataService.send(); ??
  31. ????????? } ??
  32. ????????? ??
  33. ???????? //closeWindow ??
  34. ????????? private function closeWindow():void { ??
  35. ??????????????? PopUpManager.removePopUp(this); ??
  36. ????????? } ??
  37. ????????? ??
  38. ????????? private function submit():void { ??
  39. ????????????? PopUpManager.removePopUp(this); ??
  40. ????????????? if (selectedItem != null && callbackFunction != null) { ??
  41. ????????????????? //调用父窗体的方法并以参数形式返回选择结果 ??
  42. ????????????????? callbackFunction.call(mainApp,selectedItem.data); ??
  43. ????????????? } ??
  44. ????????? } ??
  45. ????????? ??
  46. ????????? private function mySelection(oEvent:Event):void { ??
  47. ?????????????selectedItem?=?oEvent.target.selectedItem; ??
  48. ????????? }??? ??
  49. ???????? ??
  50. ???????? private function initListData(event:ResultEvent):void { ??
  51. ???????????? //使用HTTPService返回的xml数据,初始化List数据 ??
  52. ????????????dataList.dataProvider?=?event.result.items.item; ??
  53. ???????? } ??
  54. ??
  55. ????????>??
  56. ????</mx:Script>??
  57. ??
  58. ????<mx:HTTPService?id="listDataService"?url="{url}"?showBusyCursor="true"??result="initListData(event)"?/>??
  59. ??
  60. ????<mx:Label?text="{headTitle}"/>??
  61. ???? ??
  62. ????<mx:List?id="dataList"?width="100%"?color="blue"?change="mySelection(event)"?/>??
  63. ??
  64. ????<mx:VBox?width="100%">??
  65. ????????<mx:Label?text="Selected State: {selectedItem.label}"/>??
  66. ????????<mx:Button?label="OK"?click="submit();"/>??
  67. ????</mx:VBox>??
  68. ???? ??
  69. </mx:TitleWindow>??

使用一个MXML application 作为父窗体,代码如下

xml 代码
  1. xml?version="1.0"?encoding="utf-8"?>??
  2. <mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?layout="absolute"??
  3. ????initialize="initApp()">??
  4. ????<mx:Style?source="styles/main.css"/>??
  5. ???????????????? ??
  6. ????<mx:Script>??
  7. ????
  8. ???? import mx.controls.Alert;
  9. ???? import flash.display.StageDisplayState;
  10. ???? import components.window.ListTitleWindow;
  11. ???? import mx.containers.TitleWindow;
  12. ???? import mx.managers.PopUpManager;
  13. ???? import mx.collections.ArrayCollection;
  14. ???? private function initApp() : void {
  15. ???? }
  16. ???? private function showTitleWindow():void {
  17. ???????? var titleWindowInstance:ListTitleWindow =
  18. ???????????? ListTitleWindow(PopUpManager.createPopUp(this,ListTitleWindow,false));
  19. ????????
  20. ???????? titleWindowInstance.title = "Welcome";
  21. ???????? titleWindowInstance.width = 400;
  22. ???????? titleWindowInstance.height = 300;???
  23. ???????? titleWindowInstance.mainApp = this;??
  24. ???????? titleWindowInstance.headTitle = "Select a item.";
  25. ???????? titleWindowInstance.url="http://localhost:8080/test.xml";
  26. ???????? titleWindowInstance.callbackFunction = this.myFunction;
  27. ????????
  28. ???????? PopUpManager.centerPopUp(titleWindowInstance);
  29. ????? }
  30. ?????????
  31. ???? public function myFunction(bb:String):void {
  32. ???????? Alert.show(bb);
  33. ???? }
  34. ???? ]]>??
  35. ??
  36. ????mx:Script>??
  37. ???? ??
  38. ????<mx:Button?x="63"?y="96"?label="Button"?click="showTitleWindow();"/>??
  39. ???? ??
  40. mx:Application>??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读