- 浏览: 390786 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
hylandtecliulei:
现在JSF在国外很火的,我们公司的开发平台就是基于JSF
JSF的各种框架实现(对目前JSF群雄一个了解)(转) -
bcabchappy:
在哪呢?压力挺大的,诶。
flex 三大数据传输格式 json,xml,object相互转换的api -
simple8888:
JSF现在还有吗?
JSF的各种框架实现(对目前JSF群雄一个了解)(转) -
游其是你:
请问channelset写在哪儿啊?最后写个小项目“hello ...
用as实现RemoteObject -
hans.org:
mark it
自定义组件中的元数据标签
原文地址: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>
发表评论
-
OFBIZ应用程序结构
2010-11-03 11:03 27031)ofbiz可以整个看作一 ... -
jboss 的debug启动4法
2010-06-05 23:36 6637方式一: 使用myeclipse,全自动化,不再赘述 ... -
Log4J 最佳实践之全能配置文件
2009-09-21 22:44 890给出得Log4J配置文件实现了输出到控制台,文件,回滚文件 ... -
glassfish下错误两个
2009-06-07 23:45 18161、在配置文件中开启jsp预编译: <!-- u ... -
Blaze Data Services还是LiveCycle Data Services?
2009-05-17 22:22 2394摘要 现在已经有不少 ... -
Junit入门和基本运行结构分析
2009-05-11 09:26 2365The test code must be writte ... -
servlet 补习1
2009-04-01 17:54 1053getServletPath: /pic.upload get ... -
精通批处理
2009-03-04 17:17 1269ECHO 墨西哥语: 8 ECHO 墨 ... -
软件开发者面试百问
2009-03-03 14:35 890想雇到搞软件开发的聪 ... -
spring配置5种方法
2009-02-23 22:27 8581、 <context-param> < ... -
spring的使用最佳12策略
2009-02-23 22:14 1064Spring是一个强大的Java应用框架,它广泛地应用于Jav ... -
sevlet上传原理
2009-02-13 09:55 1432点滴:最近基于apache的上传组件写了一个配置上传的组件。想 ... -
j2ee页面转向
2009-02-12 16:06 1080各种框架的不管看起来 ... -
spring事务配置二
2009-02-10 11:20 1341面介绍一种优秀的事务代理配置策略:采用这种配置策略,完全可以避 ... -
spring事务配置一
2009-02-10 11:19 1461通常建议采用声明式事务管理。声明式事务管理的优势非常明显:代码 ... -
活用SiteMesh,一个装饰器就可支撑整个网站结构
2009-01-27 11:00 2016在寻求网站结构的高效 ... -
spring中数据库的配置
2009-01-27 10:11 1366对于不同的数据库存取需求,我们使用JDBC来解决这个问题,对 ... -
log4j(1)配置日志的去向
2009-01-25 00:19 1110log4j 1.在Eclipse ... -
j2ee的认知
2009-01-23 17:52 1184关于spring,struts,hibernate,sitem ... -
翻译力作 - Advanced SiteMesh
2008-11-27 09:34 1122假设你打算结合多种技术来构建一个企业级web站点。比如,你准备 ...
相关推荐
在C#编程中,数据绑定是一项关键特性,它允许开发者将UI控件与数据源连接起来,实现数据的动态展示和交互。数据绑定控件在Windows Forms和WPF(Windows Presentation Foundation)等平台上广泛使用,简化了用户界面...
本文将深入探讨如何实现DevExpress TreeList的数据绑定,以及KeyFieldName和ParentFieldName属性的重要性。 一、数据绑定基础 在DevExpress TreeList中,数据绑定是指将数据源(如数据库表、对象集合或XML文件)与...
数据绑定是Windows Forms开发中一个核心的概念,它允许应用程序中的用户界面控件与数据源保持同步,确保数据的实时更新。在.NET Framework中,数据绑定主要涉及到`BindingContext`、`CurrencyManager`、`Property...
在"DevExpress简单的数据绑定"主题中,我们将探讨如何将数据轻松地绑定到GridControl,以便在用户界面中展示。 1. **数据绑定基础** 数据绑定是.NET框架中的核心概念,允许UI元素与数据源动态关联。在DevExpress ...
在Windows Presentation Foundation (WPF) 中,数据绑定是将用户界面(UI)元素与应用程序的数据模型连接起来的关键机制。这使得UI可以动态地反映数据的变化,反之亦然。本示例将详细介绍WPF中的五种数据绑定方式:...
**WPF 数据绑定详解** Windows Presentation Foundation (WPF) 是微软开发的一种用于构建现代桌面应用程序的框架,它提供了丰富的用户界面设计能力。其中,数据绑定是 WPF 中一个至关重要的特性,它允许开发者轻松...
在Visual Studio 2005 (VS2005) 中,数据绑定是连接应用程序界面与数据库记录的关键技术,使得开发者能够轻松地显示、编辑和管理数据库中的信息。本教程将详细阐述如何利用数据绑定来浏览数据库记录。 一、安装与...
### ASP.NET 2.0 的数据源、数据绑定控件概述与区别 #### 数据源控件(DataSource Controls) 在 ASP.NET 2.0 中,数据源控件是用于连接数据库和其他数据存储的关键组件,它们提供了从数据源读取数据的能力,并...
本文将深入探讨如何在C#环境中使用DevExpress的ChartControl进行数据绑定,以创建交互式、丰富的数据图表。 1. **DevExpress ChartControl简介** DevExpress ChartControl是一款功能齐全的图表组件,它支持多种...
在这个主题中,我们将探讨 EasyUI 的几个核心知识点:基本布局、tree 菜单数据的绑定、DataGrid 数据查询和数据绑定以及分页功能。 首先,我们来看 EasyUI 的基本布局。EasyUI 提供了一套灵活的布局系统,允许...
ASP.NET数据绑定技术是开发基于.NET框架的Web应用程序时的核心技术之一,主要用于在网页上动态显示和操作数据。本专题将深入探讨数据绑定原理、主要控件及其使用方法。 首先,数据绑定的基本原理是将数据源(如...
在ASP.NET中,数据绑定是一项核心功能,它使得开发者能够轻松地将Web应用程序的界面元素与数据源连接起来,动态地展示、编辑和管理数据。本实验“实验4 _数据绑定_asp.net数据绑定_”主要关注两个关键控件:GridView...
C#数据绑定是.NET框架中一个关键的概念,它在Windows Forms、WPF(Windows Presentation Foundation)和ASP.NET等环境中广泛使用。数据绑定允许UI(用户界面)组件与数据源进行同步,使得数据的变化能够实时反映在...
在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中的数据绑定,这是一个强大的特性,能够实现用户界面(UI)和应用程序数据之间的自动化同步。数据绑定是WPF开发中不可或缺的一部分,它极大地简化...
**WPF数据绑定详解** WPF(Windows Presentation Foundation)是微软.NET Framework的一部分,它提供了丰富的用户界面(UI)设计和开发能力。与传统的WinForm相比,WPF在很多方面都有显著提升,其中数据绑定机制是...
C#中的数据绑定(DataBinding)是.NET框架提供的一种强大机制,它允许用户界面(UI)元素与数据源之间建立动态连接,使UI能够自动反映出数据源的变化。数据绑定简化了应用程序开发,尤其是在构建用户界面时,使得...
**WPF UI数据绑定** Windows Presentation Foundation (WPF) 是微软.NET Framework的一部分,它提供了一种强大的用户界面(UI)开发框架。其中,数据绑定是WPF中的核心特性,允许UI元素与应用程序中的数据源进行...
ASP.NET 数据绑定是ASP.NET Web Forms开发中的一个重要概念,它允许开发者轻松地将数据库中的数据与用户界面元素关联,从而动态地展示、编辑和管理数据。这个PPT旨在帮助学习者理解和掌握ASP.NET数据绑定的基本原理...
在Flex开发中,数据绑定(Data Binding)是一种强大的机制,它允许UI组件的状态与应用程序的数据模型之间自动同步。数据绑定的原理是通过监听数据源的变化,并自动更新与之绑定的UI组件,反之亦然,从而简化了代码并...
在Windows Presentation Foundation(WPF)中,数据绑定是一种强大的机制,它允许UI元素与应用程序的数据模型之间进行自动同步。这个“WPF简单数据绑定demo”是专为新手设计的,旨在帮助初学者快速掌握这一核心概念...