您的位置: 首页 > 技术文档 > 多媒体制作 > Flash MX 2004 数据绑定
通用滚动条配色工具 回到列表 Flash dynamic mask 动态遮罩
 Flash MX 2004 数据绑定

作者:egoldy 时间: 2005-03-06 文档类型:原创 来自:WebStudio

第 1 页 Flash MX 2004 数据绑定 [1]
第 2 页 Flash MX 2004 数据绑定 [2]

格式化

好了!我们已经知道怎样从一个组件中得到一个值并且把这个值放在另外一个组件中。但是这通常是不够的。有时我们需要在组件中的数据以不同方式展现;有时需要两个组件展示不同的数据。
我们用格式化来实现这个目标。有几个内建的格式化工具你可以选择,同时你也可以自定义的格式,用AS2类。你可以选择在选择绑定时选择格式化工具并且从列表中选择它们。选择自定义的格式需要用到你自己的类。

我们以内建的格式开始,比如

Boolean(布尔值)

也许是最简单的内建格式化方式。它仅仅是一个布尔值(或真或假)并且输出一个字符串。你可以通过真或假来选择要描述的值——在格式化选项中。

Bool_formatter.fla

Compose String(排列字符串)

转换一个对象的域,形成单个字符串。你可以结合任何数量的域,也可以插入其他的字符。建立一个字符串模板,选择格式化选项并键入字符串。你也可以放置任何文本在这里,但是任何在”<>”表示符中的内容将被做为一个域来处理。如果对象有子对象(比如XML)那么,你可以使用它们——通过点语法来获得它们的路径。字符串模板的例子如下:

Compose_formatter.fla

Date(日期)
把日期转换成字符串,简单的模板如“MM/DD/YYYY”。允许的格式“M”(月份),“D”(日期),“Y”(年份),“H”(小时),“N”(分钟)和“S”(秒)。你可以用格式化工具反向格式化字符串为日期,但是由于某种原因,这种做法仅仅用在双向绑定中。

Date_formatter.fla

Number (数字)
非常简单的格式化选项。可以显示十进制的数字。

Number_formatter.fla

Rearrange Fields (重新排列的域)

让你可以协调域,比如一个组件的数据源中的域名和另一个组件数据源的域名不同的情况下。域是以列表的形式成对出现在格式化选项中。比如一个简单的字符串:”label=name;data=colour;otherField=yetAnotherField”。这对于显示数据很有用,比如以下拉列表框和列表框显示数据;相应改变组件标签域属性,可以用重新排列的域格式化你想显示的作为标签的域。在这个例子中,一些XML文件已经加载了,用来移植到下拉列表框和它的域(重新排列的),所以名称属性被用作标签。

Rearrange_formatter.fla

要自定义格式,需要定义一个很简单的类,它有两个方法:格式化和非格式化,为每种类型提供一个依据,并且可以返回任何东西。在这个例子中,类格式化数字为英镑符号:

代码:
// class used to convert numbers to sterling currency and back again
class SterlingFormatter {

    // turns a number into a string
    function format (data:Number) : String{
        var currency:String;
        var pounds:Number = Math.floor(data);
        var pence:Number = Math.round((data - pounds)*100);
        var poundsStr:String = String(pounds);
        var penceStr:String;
        if(pence<10){
            penceStr = "0" + String(pence);
        }else{
            penceStr = String(pence);
        }
        currency = "&pound;" + pounds + "." + penceStr;
        return currency;
     }

    // removes sterling format and returns a number
    function unformat (data:String) : Number {
        var str:String = data.substr(1);
        var num:Number = parseFloat(str);
        return num;
     }
}

键入一个数值在左边,看看有边会有什么格式产生

局限、防范、实践

创作时的数据绑定是基于mc路径的,这将带来一些局限和危险。主要的问题是当你建立一个在两个组件之间的绑定时,这两个组件的实例必须被唯一的标识,而且这也依赖它们的路径。因此,如果你改变了一个组件的路径,之后再提供绑定,将会丢失这个绑定。尽管我已经注意到你可以安全的改变组件实例的名字不必改变它们的绑定。

通常,在运行时,组件可以从绝对路径上解决绑定问题。但是如果你提供到一个舞台上不存在的mc的绑定,绑定将从可以被识别的mc中选择“最远的”。问题是同样的mc将被不同的解释,如果该mc是在舞台上编辑过的或者在库中编辑的。要避免混乱、冲突、遗失已完成的内容,你需要遵循如下的指导方针:

1、    不要对这样的mc使用绑定:即在创作过程中加到舞台上,又使用了动态附加的;
2、    不要对舞台上选择了“编辑”过的符号提供数据绑定。使用“本地编辑”保护mc的内部结构关系;
3、    在加入绑定之前,谨慎的规划你的应用程序,如果程序很复杂的话。当你觉悟到因为所有的组件嵌套在一个mc里而使所有的绑定失去了作用,将是一件无法启齿的错误。
4、    如果要将应用程序动态的加载到其他的影片里,使用 _level替代影片的target。

总的说来,以上的讲解只是引导你用窗体建立最简单的应用程序的开始,你还要添加很多的场景和组件。使场景都这场运转起来后再加入数据绑定。最后一点要说明(有点讨厌但它也确实是个尖锐的问题,在很多情况都会发生)。

如果你已经看过源文件,你就会发现我在引导层加入了一些箭头符号。这对于简单的绑定来说无关紧要,但是一些复杂的系统绑定是很难跟踪的,所以我提倡这样做:用最原始的“文档”来说明你在做着什么。用语言来描述你所做的绑定是比较困难的,但是图示可以很只管的表达绑定的意思。如果一些东西需要比较详细的说明,那么在一个引导层用文本来注释是很有帮助的。这些箭头不是正是的符号,重要的是可以保留一些对将要发生的事情的暗示。

结束
数据绑定在MX2004中是个重要的主题,并且有很多方面我还没有涵盖到,包括运行时的API和身份认证。这本身就是个主题,但是很值得掌握——它涵盖了很多的功能,你可以节省很多的时间和精力,不用重新构建它。

然而你也许不会选择数据绑定面板来开发企业级应用程序,你也许直接会用运行时的API。但是数据绑定面板可以快速的提供一个原型或小型应用程序,因为它们提供了非常简单的方法来构建复杂的数据交互。身份认证和格式化都可以通过AS2实现可扩展功能,是没有限制的。

附源文件下载:
fmx2004-databinding.zip
fmx2004-databinding1.zip
fmx2004-databinding2-1.rar
fmx2004-databinding2-2.rar

出处:WebStudio
责任编辑:蓝色

上一页 Flash MX 2004 数据绑定 [1] 下一页

◎进入论坛Flash专栏版块参加讨论

相关文章 更多相关链接
Flash dynamic mask 动态遮罩
Macromedia Flex Builder 发布
Fireworks 2004 作远古兽皮卷轴
Fireworks 2004 作波尔卡点边框
As2 Class 的 Private 属性
作者文章
Flash MX 2004 数据绑定
Flash dynamic mask 动态遮罩
Flash MX 2004 video
Flash ActionScript 2.0 基础教程
flash 打开我的文档等特殊文件夹
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
浅谈JavaScript编程语言的编码规范
如何在illustrator中绘制台历
Ps简单绘制一个可爱的铅笔图标
数据同步算法研究
用ps作简单的作品展示页面
CSS定位机制之一:普通流
25个最佳最闪亮的Eclipse开发项目
Illustrator中制作针线缝制文字效果
Photoshop制作印刷凹凸字体
VS2010中创建自定义SQL Rule
>> 分页 首页 前页 后页 尾页 页次:2/21个记录/页 转到 页 共2个记录

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2