包 | spark.globalization |
类 | public class SortingCollator |
继承 | SortingCollator CollatorBase GlobalizationBase AdvancedStyleClient EventDispatcher Object |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
SortingCollator
类提供区分区域设置的字符串比较功能并设置用于按照语言来进行排序(例如对显示给最终用户的文本字符串列表进行排序)的初始设置。
此类是包装 flash.globalization.Collator
的包装器类。因此,特定于区域设置的字符串比较是由 flash.globalization.Collator
提供的。但是,此 SortingCollator 类可在 MXML 声明中使用,为请求的区域设置 ID 名称使用区域设置样式,并具有可绑定的方法和属性。此外,当 flash.globalization 类发生错误或警告时,将设置 LastOperationStatus
。
flash.globalization.Collator 类使用基础操作系统来实现格式化功能并提供特定于区域设置的数据。某些操作系统不支持 flash.globalization 类,此时由包装器类提供回退功能。
相关 API 元素
方法 | 由以下参数定义 | ||
---|---|---|---|
构造新的 SortingCollator 对象,以根据指定的区域设置的约定提供字符串比较。 | SortingCollator | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
删除此组件实例的样式属性。 | AdvancedStyleClient | ||
比较两个字符串并返回一个整数值,表示第一个字符串是小于、等于还是大于第二个字符串。 | CollatorBase | ||
将事件调度到事件流中。 | EventDispatcher | ||
比较两个字符串并返回表示字符串是否相等的布尔值。 | CollatorBase | ||
[静态]
列出此类支持的所有区域设置 ID 名称。 | CollatorBase | ||
为应用于该组件的类型选择器返回 CSSStyleDeclaration 对象数组,如果不存在则返回 null。 | AdvancedStyleClient | ||
[覆盖]
获取已在此组件的样式查找链中的某个位置设置过的样式属性。 | GlobalizationBase | ||
如果 currentCSSState 不为 null,则返回 true。 | AdvancedStyleClient | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
该类或扩展该类的类在 MXML 声明中使用时,调用 initialized 方法。 | AdvancedStyleClient | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果 cssState 与 currentCSSState 匹配,则返回 true。 | AdvancedStyleClient | ||
确定此实例与给定类型相同,还是属于给定类型的子类。 | AdvancedStyleClient | ||
将样式更改传播到此样式客户端实例的子项。 | AdvancedStyleClient | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
设置内部样式缓存值,以便 getStyle() 方法可以起作用。 | AdvancedStyleClient | ||
将 EffectManager 注册为每个效果事件的事件侦听器之一。 | AdvancedStyleClient | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
对此组件实例设置样式属性。 | AdvancedStyleClient | ||
检测对样式属性的更改。 | AdvancedStyleClient | ||
首次初始化组件样式时,Flex 会调用 stylesInitialized() 方法。 | AdvancedStyleClient | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
SortingCollator | () | 构造函数 |
public function SortingCollator()
语言版本: | ActionScript 3.0 |
产品版本: | Flex 4.5 |
运行时版本: | Flash Player 10.1, AIR 2.5 |
构造新的 SortingCollator 对象,以根据指定的区域设置的约定提供字符串比较。
此类设置用于常规语言排序(例如对显示给最终用户的文本字符串列表进行排序)的各种排序规则选项的初始值。在此模式下,进行字符串比较时考虑大写和小写字母、重音符号及其它特定于区域设置的区别。
此类的实例所提供的比较等效于构造 flash.globalization.Collator
的实例并将其 initialMode
参数设置为 CollatorMode.SORTING
。有关此模式的详细信息和示例,请参阅有关 flash.globalization.Collator
类的文档。
此类的区域设置是由区域设置样式提供的。可以使用以下几种方法来设置区域设置样式:
- 调用 UIComponent 的 addStyleClient 方法,从
UIComponent
继承样式。 - 在 MXML 声明中使用该类,并从包含声明的文档中继承区域设置。
Example: <fx:Declarations> <s:SortingCollator id="sc" /> </fx:Declarations>
- 使用 MXML 声明并在赋值列表中指定区域设置值。
Example: <fx:Declarations> <s:SortingCollator id="sc_France" locale="fr-FR" /> </fx:Declarations>
- 调用 setStyle 方法,如
sc.setStyle("locale", "fr-FR")
。
如果 locale
样式不是由以上方式之一设置的,则该类的实例会作为 StyleClient
添加至 topLevelApplication
中,并因此在调用 locale
从属属性 getter 或 locale
从属方法时,会从 topLevelApplication
对象中继承 locale
样式。
相关 API 元素
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"> <fx:Declarations> <s:SortingCollator id="sortingCollator"/> </fx:Declarations> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.events.ListEvent; [Bindable] private var localeList:ArrayCollection = new ArrayCollection([ { label:"English (en)", data:"en" }, { label:"French (fr)", data:"fr" }, { label:"German (de)", data:"de" }, { label:"Latvian (lt)", data:"lt" }, { label:"Sweedish (sv)", data:"sv" }, { label:"Chinese (zh)", data:"zh" }]); private static const wordList:ArrayCollection = new ArrayCollection([ "B", "b", "a", "A" , "y (lt)", "i (lt)", "k (lt)", "n (sv)", "ö (sv)", "o (sv)", "z (sv)", "vu (sv)", "wo (sv)", "däd (de)", "daed (de)", "öf (de)", "of (de)", "côte (fr)", "coté (fr)", "手 (zh)", "ä¸ (zh)", "土 (zh)", "å²€ (zh)" ]); protected function localeSelector_changeHandler( event:ListEvent):void { setStyle("locale", ComboBox(event.target).selectedItem.data); wordList.refresh(); } ]]> </fx:Script> <mx:VBox> <mx:HBox> <s:Label text="Select Language"/> <mx:ComboBox id="localeSelector" change="localeSelector_changeHandler(event)" dataProvider="{localeList}"/> </mx:HBox> <mx:DataGrid id="dataGrid" width="100%" dataProvider="{wordList}" rowCount="{wordList.length}"> <mx:columns> <mx:DataGridColumn headerText="Click here to sort" sortCompareFunction="{sortingCollator.compare}"/> </mx:columns> </mx:DataGrid> </mx:VBox> </s:Application>
Tue Jun 12 2018, 11:04 AM Z