上篇文章:http://www.webjx.com/htmldata/2005-03-09/1110356957.html
格式化
好了!我们已经知道怎样从一个组件中得到一个值并且把这个值放在另外一个组件中。但是这通常是不够的。有时我们需要在组件中的数据以不同方式展现;有时需要两个组件展示不同的数据。
我们用格式化来实现这个目标。有几个内建的格式化工具你可以选择,同时你也可以自定义的格式,用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
要自定义格式,需要定义一个很简单的类,它有两个方法:格式化和非格式