取出数据
- 使用组件属性,设置返回字段的getter来获取数据
主程序
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
applicationComplete="init()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.controls.Alert;
import mx.events.*;
import views.*;
protected var simpleWindow:layoutPop;
protected function init():void
{
simpleWindow = new layoutPop();
//添加响应事件
simpleWindow.addEventListener(layoutPop.LOGINNING,onLogin,false,0,true);
login.addEventListener(MouseEvent.CLICK,openLoginWindow);
}
protected function onLogin(event:Event):void
{
Alert.show(simpleWindow.username+"\n"+simpleWindow.password);
}
protected function openLoginWindow(event:Event):void
{
PopUpManager.addPopUp(simpleWindow,this,true);
PopUpManager.centerPopUp(simpleWindow);
}
]]>
</fx:Script>
<s:VGroup verticalCenter="0" horizontalCenter="0">
<s:Button horizontalCenter="0" verticalCenter="0" id="login" label="Login"/>
</s:VGroup>
</s:Application>
弹出Window layoutPop
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300" close="closeWindow()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
//添加元数据方便MXML代码提醒
[Event(name="loggingIn")]
import mx.managers.PopUpManager;
//定义事件
public static const LOGINNING:String = "loggingIn";
//绑定两个字符串
[Bindable]
public var _username:String="";
public function get username():String
{
return _username;
}
[Bindable]
public var _password:String="";
public function get password():String
{
return _password;
}
protected function closeWindow():void
{
PopUpManager.removePopUp(this);
}
protected function sendLogin():void
{
dispatchEvent(new Event(LOGINNING));
closeWindow();
}
]]>
</fx:Script>
<!--使用Form提交数据,并且绑定字符-->
<s:Form>
<s:FormItem label="Username">
<s:TextInput id="usernameField" text="@{_username}"/>
</s:FormItem>
<s:FormItem label="Password">
<s:TextInput id="passwordField" text="@{_password}" displayAsPassword="true"/>
</s:FormItem>
<s:FormItem>
<s:Button label="Login in" click="sendLogin()"/>
</s:FormItem>
</s:Form>
</s:TitleWindow>
主程序
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
applicationComplete="init()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.controls.Alert;
import mx.events.*;
import action.LoginEvent;
import views.*;
protected var simpleWindow:ReayoutPop;
protected function init():void
{
simpleWindow = new ReayoutPop();
//添加响应事件
simpleWindow.addEventListener(LoginEvent.LOGGING,onLogin,false,0,true);
login.addEventListener(MouseEvent.CLICK,openLoginWindow);
}
protected function onLogin(event:LoginEvent):void
{
//通过LoginEvent的事件来获取字段值
Alert.show(event.username+"\n"+event.password);
}
protected function openLoginWindow(event:Event):void
{
PopUpManager.addPopUp(simpleWindow,this,true);
PopUpManager.centerPopUp(simpleWindow);
}
]]>
</fx:Script>
<s:VGroup verticalCenter="0" horizontalCenter="0">
<s:Button horizontalCenter="0" verticalCenter="0" id="login" label="Login"/>
</s:VGroup>
</s:Application>
弹出窗口
ReayoutPop
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300" close="closeWindow()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import action.LoginEvent;
//添加元数据方便MXML代码提醒
[Event(name="loggingIn")]
import mx.managers.PopUpManager;
//定义事件
public static const LOGINNING:String = "loggingIn";
//绑定两个字符串
[Bindable]
public var _username:String="";
public function get username():String
{
return _username;
}
[Bindable]
public var _password:String="";
public function get password():String
{
return _password;
}
protected function closeWindow():void
{
PopUpManager.removePopUp(this);
}
protected function sendLogin():void
{
//使用LoginEvent事件
var event:LoginEvent = new LoginEvent(LoginEvent.LOGGING);
event.username = _username;
event.password = _password;
dispatchEvent(event);
closeWindow();
}
]]>
</fx:Script>
<!--使用Form提交数据,并且绑定字符-->
<s:Form>
<s:FormItem label="Username">
<s:TextInput id="usernameField" text="@{_username}"/>
</s:FormItem>
<s:FormItem label="Password">
<s:TextInput id="passwordField" text="@{_password}" displayAsPassword="true"/>
</s:FormItem>
<s:FormItem>
<s:Button label="Login in" click="sendLogin()"/>
</s:FormItem>
</s:Form>
</s:TitleWindow>
自定义事件
LoginEvent
package action
{
import flash.events.Event;
public class LoginEvent extends Event
{
[Event(name="logging",type="LoginEvent")]
public static const LOGGING:String = "logging";
public var username:String;
public var password:String;
public function LoginEvent(type:String,bubbles:Boolean=false,cancelable:Boolean=false)
{
super(type,bubbles,cancelable);
}
}
}
传入数据
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
applicationComplete="init()">
<fx:Declarations>
<!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.managers.PopUpManager;
import window.UserWindow;
protected var _usersWindow:UserWindow;
protected function init():void
{
_usersWindow = new UserWindow();
login.addEventListener(MouseEvent.CLICK,openWindow);
}
protected function openWindow(event:Event):void
{
PopUpManager.addPopUp(_usersWindow,this,true);
generateData();
}
protected function generateData():void
{
var users:Array = new Array();
var totalRecords:uint = Math.round(Math.random()*100);
var name:String;
for (var i:uint = 0;i<totalRecords;i++)
{
name = "User"+i.toString();
users.push({name:name,email:name+"@system.com"});
}
_usersWindow.users = users;
}
]]>
</fx:Script>
<s:VGroup verticalCenter="0" horizontalCenter="0">
<s:Button horizontalCenter="0" verticalCenter="0" id="login" label="Login"/>
</s:VGroup>
</s:Application>
窗口文件UserWindow
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="300"
title="User Manager({_users.length}users)"
close="closeWindow()"
creationComplete="init()">
<fx:Declarations>
<!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.managers.PopUpManager;
[Bindable]
private var _users:Array;
public function get users():Array
{
return _users;
}
public function set users(value:Array):void
{
_users = value;
}
protected function closeWindow():void
{
PopUpManager.removePopUp(this);
}
protected function init():void
{
if(isPopUp)
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<s:DataGrid id="usersList" verticalCenter="0" horizontalCenter="0" width="100%" height="100%" dataProvider="{new ArrayCollection(_users)}"/>
</s:TitleWindow>
分享到:
相关推荐
总的来说,理解并实现Flex弹出窗口的数据传输需要掌握Flex组件模型、事件处理机制以及数据共享的方法。在实际开发中,应根据项目需求选择合适的数据传递策略,同时考虑性能和可维护性。对于“博文链接:...
自动弹出窗口的行为可以根据多种条件触发,比如用户交互、定时器事件、数据变化等。例如,可以监听某个按钮的点击事件,或者在后台数据加载完成后显示弹出窗口。 **4. 弹出窗口的动画效果** 为了增加用户体验,还...
综上所述,Flex 3中通过TitleWindow为DataGrid添加新数据的过程包括创建TitleWindow作为弹出对话框,设计表单获取用户输入,处理“添加”按钮的点击事件以将新数据添加到DataGrid的数据源,以及在主应用中触发...
标题中的“flex 苹果桌面效果的弹出窗口”指的是使用Adobe Flex技术在苹果桌面环境中实现类似苹果OS X系统的弹出窗口效果。Flex是一种开源的、基于ActionScript的框架,用于构建富互联网应用程序(RIA),它允许...
在本文中,我们将深入探讨如何在Flex环境中实现一个具有autocomplete(自动补全)功能的弹出窗口选择器。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA),它允许开发者创建交互性强、用户...
在Flex应用开发中,经常需要在主应用程序和弹出窗口(如对话框)之间交换数据,以便实现更加复杂的交互逻辑。 一、Flex中的组件层次结构 在Flex中,应用通常包含一个主程序(通常是Application类的实例),以及...
在本文中,我们将深入探讨如何使用Flex技术来创建一个类似于苹果风格的弹出菜单。Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。它提供了丰富的用户界面组件和强大的数据绑定...
首先,我们要理解Flex中的弹出窗口(Pop-up Window)机制。在Flex中,我们可以使用PopUpManager类来创建和管理弹出窗口。这个类提供了打开和关闭窗口,以及调整窗口大小和位置的方法。通过实例化PopUpManager并传递...
4. **交互反馈**:例如,当用户提交表单时,JS可以验证数据,显示错误信息,或者在成功提交后关闭弹出层。 结合`btn_clz.gif`这个文件名,我们可以推测这是一个用于触发弹出层的按钮的图形资源。在实际应用中,该...
2. **DataGridWithPopUpEditor.as** - 这个文件可能是主datagrid组件的类,其中包含了对自定义编辑器的引用和配置,比如设置哪一列使用这个弹出窗口编辑器,以及相关的事件处理逻辑。 3. **PopUpEditor.mxml** - 这...
TitleWindow是Flex中的一个组件,常用于创建带有标题的弹出窗口,类似于操作系统中的对话框。在Flex中,TitleWindow可以自定义内容,包括文本、图像以及视频等多媒体元素。 本文将详细讲解如何在Flex的TitleWindow...
综上所述,Flex弹出窗口请求Action函数示例详细介绍了在Flex环境中创建弹出窗口以及与后端进行交互的过程。开发者需要掌握Flex的组件使用、事件处理、与后端的通信机制以及用户界面设计的原则。在技术选择上,亦需...
4. **显示自定义组件**:根据需要,你可以使用`PopUpManager`类将自定义组件以弹出窗口的形式显示出来: ```actionscript var customComponent:CustomComponent = new CustomComponent(); PopUpManager.addPopUp...
- `popup.css`:可能用于弹出窗口或提示框的样式定义。 - `content-ie6.css`:专门为Internet Explorer 6浏览器定制的样式,考虑到该浏览器对CSS的支持有限。 4. **学习路径**: - **基础教程**:了解Flex4的...
可以使用`PopUpManager`类来管理弹出窗口的生命周期。 5. **自定义样式和交互**: Flex允许我们自定义柱状图的外观和行为。可以通过CSS样式表或直接在MXML代码中设置颜色、边框、渐变等属性。此外,还可以添加提示...
PopUpManager类是用于管理Flex中的弹出窗口的一个类。它提供了一些方法来添加、移除和管理弹出窗口。例如,在本例中,我们就使用了"PopUpManager.addPopUp(wnd,this,false);"方法来以非模态方式弹出子窗口。 知识点...
在Flex框架中,实现主页面与弹出窗口之间的数据交互是一项常见且实用的功能。本文将深入解析如何利用TitleWindow组件进行数据传输,包括从主应用向弹出窗口传递数据以及反之亦然的过程。通过实际代码示例,我们将...