`
xo_tobacoo
  • 浏览: 390786 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

数据绑定

    博客分类:
  • j2ee
阅读更多
原文地址:http://livedocs.adobe.com/flex/3/html/databinding_2.html 数据绑定是把一个对象上的数据绑到另一个对象的过程。它提供了在应用程序不同层之间传递数据的简捷方式。数据绑定需要一个源属性,一个目标属性,以及一个指示何时把数据从源拷贝到目标的触发事件。当源属性发生改变时,一个对象广播触发事件。 Adobe Flex有3种指定数据绑定的方法:MXML中的花括号({})语法,MXML中的<binding>标签和ActionScript代码中的BindingUtils方法。下面的例子使用花括号({})语法演示一个Text控件从一个TextInput控件的text属性获取数据: <?xml version=”1.0″?><application xmlns:mx="”http://www.adobe.com/2006/mxml”"><textinput id="”myTI”" text="”Enter" here></textinput><text id="”myText”" text="”{myTI.text}”/"></text></application> 上面这个例子的效果如下: Flash Content:Click Here to Show/Hide 花括号里的属性名称是绑定表达式的源属性。当源属性的值改变时,Flex把源属性的当前值,myTI.text,拷贝到目标属性,Text控件的text属性。 你可以把ActionScript代码和E4X表达式作为数据绑定表达式的一部分,如下所示: <?xml version=”1.0″?><application xmlns:mx="”http://www.adobe.com/2006/mxml”"><textinput id="”myTI”/"><text id="”myText”" text="”{myTI.text.toUpperCase()}”/"></text></textinput></application> 其运行结果如下: Flash Content:Click Here to Show/Hide 在这个例子中,我们使用了ActionScript方法String.toUpperCase(),在Flex把源属性数据拷贝到目标属性时,把源属性里的文字转换成大写。更多信息,请阅读在数据绑定表达式中使用ActionScript和在数据绑定表达式中使用E4X表达式。 你可以使用<binding>标签替代花括号语法。当使用<binding>标签时,要在<binding>标签的source属性中设置源属性,destination属性中设置目标属性。下面的例子使用<binding>标签定义从TextInput控件到Text控件的数据绑定: <?xml version=”1.0″?><application xmlns:mx="”http://www.adobe.com/2006/mxml”"><textinput id="”myTI”/"><text id="”myText”/"><binding source="”myTI.text”" destination="”myText.text”/"></binding></text></textinput></application> 其运行结果如下: Flash Content:Click Here to Show/Hide 与使用花括号语法不同的是,使用<binding>能够完全的把视图(用户界面)同模型分离开。<binding>标签也可以把多个源属性绑定到同一目标属性上,因为你可以使用同一个目标属性指定多个<binding>标签。关于这方面的一个例子,请看把多个源属性绑定到一个目标属性。 花括号和<binding>都是在编译期定义数据绑定。使用ActionScript能够在运行期定义一个数据绑定,如下所示: <?xml version=”1.0″?><application xmlns:mx="”http://www.adobe.com/2006/mxml”"><script></script><textinput id="”myTI”/"><text id="”myText”" preinitialize="”initBindingHandler();”/"></text></textinput></application> 其运行结果如下: Flash Content:Click Here to Show/Hide 在这个例子中使用了静态的BindingUtils.bindProperty()方法定义绑定。你也可以使用BindingUtils.bindSetter()方法定义一个到函数的绑定。更多信息,请参考使用ActionScript定义数据绑定。 注意在本例子中使用preinitialize事件定义数据绑定。这是必须的,因为当应用程序启动、源对象广播initialize事件时,Flex触发所有的数据绑定。 数据绑定发生在什么时候 绑定发生在下列情形中: 绑定源广播里一个事件,因为源被修改了。这个事件可能发生在应用程序运行期间的任何时间。该事件触发Flex把数据从源属性拷贝到目标属性。 在应用程序启动时,当源对象广播里initialize事件。在应用程序启动时所有的数据绑定都会触发一次,来初始化目标属性。 要监视数据绑定,你可以定义一个绑定观察者,当绑定发生时触发一个事件处理。更多信息,请阅读定义绑定观察者。 UIComponent的executeBindings()方法执行所有的目标为该UIComponent对象的绑定。所有的容器、控件,包括Repeater组件,都扩展自UIComponent。Container和Repeater类的executeChildBindings()执行容器和Repeater的子UIComponent是绑定目标的绑定。所有的容器都扩展自Container类。 这些方法给你提供了一种当绑定没有如预想的执行时,你可以的选择。通过添加一行代码,比如调用executeChildBindings()方法,你可以在做了更改而没有执行绑定时更新用户界面。但是,如果你明确知道绑定不会自动执行时,就不应该调用executeBindings()。 支持数据绑定的属性 你可以把对象的任何属性当作数据绑定表达式的目标。但是,当作数据绑定表达式的源属性的源对象,必须实现对数据绑定的支持,也就是说当属性值发生改变时,要广播一个事件触发数据绑定。本文中,可用作数据绑定表达式源的属性称为可绑定的属性。 使用只读属性当作数据绑定源 你可以使用getter方法定义一个只读属性,也就是说没有setter方法,作为数据绑定表达式的源。当程序启动时,Flex执行一次绑定。 使用静态属性作为数据绑定源 你可以使用静态常量当作数据绑定源。Flex在程序启动时,执行一次绑定。 你可以使用静态变量当作数据绑定表达式源。Flex在程序启动时,执行一次绑定。 创建用于数据绑定源的属性 当你创建了一个可用作数据绑定源的属性,当源属性值改变时,Flex会自动把源属性值拷贝到所有目标属性上。要想让Flex能够拷贝,你必须使用[Bindable]数据标签向Flex注册属性。 [Bindable]用法如下: ACTIONSCRIPT3 show/hide 1 2 [Bindable] [Bindable(event="eventname")] 如果省略了事件名,Flex 自动生成一个名为propertyChange的事件,当这个属性的值发生改变时,Flex会自动广播这个事件来触发所有使用该属性作为源的数据绑定。如果你指定了事件名称,那么当属性值改变时,你有责任广播这个事件。 下面的例子把可用于数据绑定的变量maxFontSize和minFontSize作为数据绑定表达式的源: <?xml version=”1.0″?><application xmlns:mx="”http://www.adobe.com/2006/mxml”"><script></script><text text="”{maxFontSize}”/"><text text="”{minFontSize}”/"><button click="”maxFontSize=20;" minfontsize="10;”/"></button></text></text></application> 其结果如下: Flash Content:Click Here to Show/Hide 当你点击Button控件时,你更新了maxFontSize和minFontSize的值,也就触发了Text控件上的数据绑定的更新。 注:如果你省略了[Bindable]标签,Flex编译器会生成一条数据绑定机制无法侦测到属性改变的警告语句。 数据绑定的使用 数据绑定的常用方法如下: 把用户界面控件的属性绑定到其他用户界面控件上。 把用户界面控件的属性绑定到中间层数据模型上,并把数据模型的那个字段绑定到数据服务请求上(一个第三方系统)。 把用户界面控件属性绑定到数据服务请求上。 把数据服务结果绑定到用户界面控件属性上。 把数据服务结果绑定到中间层数据模型上,并把数据模型字段绑定到用户界面控件上。更多关于数据模型的信息,请阅读 存储数据。 把ArrayCollection或XMLListCollection对象绑定到一个基于List的控件的dataProvider属性。 把复杂属性的单个部分绑定到用户界面控件的属性上。一个例子就是点击一个列表控件的项,多个其他控件的都跟着更新。 通过使用ECMAScript关于XML(E4X)的表达式把XML数据绑定到用户界面控件。 尽管绑定是非常强大的机制,但它并非在所有情况下都适用。比如一个负责的用户界面,分隔成了多块,需要按严格的时间进行更新,更希望能有一种方法按一定的顺序进行赋值。另外,当属性值改变时,绑定就会执行一次,因此,如果你只希望执行其中几次的话,绑定也是不适用的。</binding></binding></binding></binding></binding></binding></binding></binding></binding>
分享到:
评论

相关推荐

    C#使用数据绑定控件录入数据

    在C#编程中,数据绑定是一项关键特性,它允许开发者将UI控件与数据源连接起来,实现数据的动态展示和交互。数据绑定控件在Windows Forms和WPF(Windows Presentation Foundation)等平台上广泛使用,简化了用户界面...

    DevExpress TreeList 数据绑定

    本文将深入探讨如何实现DevExpress TreeList的数据绑定,以及KeyFieldName和ParentFieldName属性的重要性。 一、数据绑定基础 在DevExpress TreeList中,数据绑定是指将数据源(如数据库表、对象集合或XML文件)与...

    数据绑定数据绑定对象

    数据绑定是Windows Forms开发中一个核心的概念,它允许应用程序中的用户界面控件与数据源保持同步,确保数据的实时更新。在.NET Framework中,数据绑定主要涉及到`BindingContext`、`CurrencyManager`、`Property...

    DevExpress简单的数据绑定

    在"DevExpress简单的数据绑定"主题中,我们将探讨如何将数据轻松地绑定到GridControl,以便在用户界面中展示。 1. **数据绑定基础** 数据绑定是.NET框架中的核心概念,允许UI元素与数据源动态关联。在DevExpress ...

    wpf5种数据绑定方式示范

    在Windows Presentation Foundation (WPF) 中,数据绑定是将用户界面(UI)元素与应用程序的数据模型连接起来的关键机制。这使得UI可以动态地反映数据的变化,反之亦然。本示例将详细介绍WPF中的五种数据绑定方式:...

    wpf 数据绑定 经典 数据绑定 经典

    **WPF 数据绑定详解** Windows Presentation Foundation (WPF) 是微软开发的一种用于构建现代桌面应用程序的框架,它提供了丰富的用户界面设计能力。其中,数据绑定是 WPF 中一个至关重要的特性,它允许开发者轻松...

    vs2005 如何使用数据绑定浏览数据库记录

    在Visual Studio 2005 (VS2005) 中,数据绑定是连接应用程序界面与数据库记录的关键技术,使得开发者能够轻松地显示、编辑和管理数据库中的信息。本教程将详细阐述如何利用数据绑定来浏览数据库记录。 一、安装与...

    ASP.NET 2.0 的数据源、数据绑定控件概述与区别

    ### ASP.NET 2.0 的数据源、数据绑定控件概述与区别 #### 数据源控件(DataSource Controls) 在 ASP.NET 2.0 中,数据源控件是用于连接数据库和其他数据存储的关键组件,它们提供了从数据源读取数据的能力,并...

    c# devexpress chartControl数据绑定例程

    本文将深入探讨如何在C#环境中使用DevExpress的ChartControl进行数据绑定,以创建交互式、丰富的数据图表。 1. **DevExpress ChartControl简介** DevExpress ChartControl是一款功能齐全的图表组件,它支持多种...

    EasyUI:基本布局&tree菜单数据的绑定&DataGrid数据查询&数据绑定&分页

    在这个主题中,我们将探讨 EasyUI 的几个核心知识点:基本布局、tree 菜单数据的绑定、DataGrid 数据查询和数据绑定以及分页功能。 首先,我们来看 EasyUI 的基本布局。EasyUI 提供了一套灵活的布局系统,允许...

    ASP.NET数据绑定技术之数据绑定

    ASP.NET数据绑定技术是开发基于.NET框架的Web应用程序时的核心技术之一,主要用于在网页上动态显示和操作数据。本专题将深入探讨数据绑定原理、主要控件及其使用方法。 首先,数据绑定的基本原理是将数据源(如...

    实验4 _数据绑定_asp.net数据绑定_

    在ASP.NET中,数据绑定是一项核心功能,它使得开发者能够轻松地将Web应用程序的界面元素与数据源连接起来,动态地展示、编辑和管理数据。本实验“实验4 _数据绑定_asp.net数据绑定_”主要关注两个关键控件:GridView...

    c#数据绑定实验c#数据绑定实验

    C#数据绑定是.NET框架中一个关键的概念,它在Windows Forms、WPF(Windows Presentation Foundation)和ASP.NET等环境中广泛使用。数据绑定允许UI(用户界面)组件与数据源进行同步,使得数据的变化能够实时反映在...

    数据绑定学习代码

    在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中的数据绑定,这是一个强大的特性,能够实现用户界面(UI)和应用程序数据之间的自动化同步。数据绑定是WPF开发中不可或缺的一部分,它极大地简化...

    WPF数据绑定例子

    **WPF数据绑定详解** WPF(Windows Presentation Foundation)是微软.NET Framework的一部分,它提供了丰富的用户界面(UI)设计和开发能力。与传统的WinForm相比,WPF在很多方面都有显著提升,其中数据绑定机制是...

    C#数据绑定(DataBinding)简单实现方法

    C#中的数据绑定(DataBinding)是.NET框架提供的一种强大机制,它允许用户界面(UI)元素与数据源之间建立动态连接,使UI能够自动反映出数据源的变化。数据绑定简化了应用程序开发,尤其是在构建用户界面时,使得...

    WPF UI数据绑定

    **WPF UI数据绑定** Windows Presentation Foundation (WPF) 是微软.NET Framework的一部分,它提供了一种强大的用户界面(UI)开发框架。其中,数据绑定是WPF中的核心特性,允许UI元素与应用程序中的数据源进行...

    ASPNET数据绑定.ppt

    ASP.NET 数据绑定是ASP.NET Web Forms开发中的一个重要概念,它允许开发者轻松地将数据库中的数据与用户界面元素关联,从而动态地展示、编辑和管理数据。这个PPT旨在帮助学习者理解和掌握ASP.NET数据绑定的基本原理...

    flex数据绑定的原理

    在Flex开发中,数据绑定(Data Binding)是一种强大的机制,它允许UI组件的状态与应用程序的数据模型之间自动同步。数据绑定的原理是通过监听数据源的变化,并自动更新与之绑定的UI组件,反之亦然,从而简化了代码并...

    WPF简单数据绑定demo

    在Windows Presentation Foundation(WPF)中,数据绑定是一种强大的机制,它允许UI元素与应用程序的数据模型之间进行自动同步。这个“WPF简单数据绑定demo”是专为新手设计的,旨在帮助初学者快速掌握这一核心概念...

Global site tag (gtag.js) - Google Analytics