格式程序是一种在原始数据类型和字符串数据之间执行双向转换的对象。该对象具有可在创作时设置的参数,以及用于执行转换的运行时方法。允许使用的格式程序数量不受限制,并且您可以创建其他自定义格式程序。格式程序是由 Flash MX Professional 2004 Configuration/Formatters 文件夹中的 XML 文件定义的。该定义包括以下元数据:
Flash MX Professional 2004 自带了以下格式程序:
None 默认格式程序。不执行格式化。
Boolean 此格式程序将布尔值格式化为字符串。可以为表示 true
的字符串(例如,1、是、是的)和表示 false
的字符串(例如,0、否、不是)设置布尔值选项。
Compose String 此格式程序将数据对象转换为字符串。可以使用字符串模板定义输出格式。该模板是可按以下方式之一引用数据字段的任意文本。
<field-name>
<field-name.field-name>
,使用点追溯到数据结构中<.>
,代表整个对象。例如,当原始对象是字符串时可以使用此选项。在这种情况下,<.>
只是字符串的值。Custom Formatter 此格式程序允许您通过指定类名来指定自己的格式程序。格式程序的动作脚本类应具有以下格式:
class MyFormatter extends mx.data.binding.CustomFormatter{ function getTypedValue(requestedType:String) :mx.data.binding.TypedValue{ ... } function getGettableTypes() :Array /* of String */{ ... } function setTypedValue(newValue:mx.data.binding.TypedValue) :Array /* of String */{ ... } function getSettableTypes() :Array /* of String */{ ... } }
Rearrange Fields 此格式程序基于绑定中的原始数组创建新的对象数组。可通过使用以下格式的字符串模板定义新数组中的字段:
fieldname1=definition1;fieldname2=definition2;诸如此类。
fieldnameN
是新数组或记录中的字段的名称。definitionN
是以下值之一:
例如,假设您要使用数据绑定将数组指定到“列表”组件的 DataProvider
属性。数据内的对象没有 label
属性(如果可用,列表将使用该属性)。可以使用此格式程序通过数据绑定来创建新数组,数据绑定将复制原始数组内的对象,并使用您定义的值将 label
属性添加到每个对象。以下模板将达到此目的(依赖于数组和“列表”组件的 DataProvider
属性之间的绑定):
label='My name is <firstName> <lastName>'
此语法假定对象具有名为 firstName
和 lastName
的两个属性。label
属性将被添加到新数组内的每个对象中。
注意:此格式程序可用于以绑定方式接受记录数组的任何组件。
Number Formatter 此格式程序能让您指定将数字转换为文本时出现的小数位数。