Package | spark.collections |
Class | public class SortField |
Inheritance | SortField ![]() ![]() ![]() |
Implements | ISortField |
Language Version: | ActionScript 3.0 |
Product Version: | Flex 4.5 |
Runtime Versions: | Flash Player 10.1, AIR 2.5 |
var col:ICollectionView = new ArrayCollection();
col.addItem({first:"Anders", last:"Dickerson"});
var sort:Sort = new Sort();
var sortfield:SortField = new SortField("first", true);
sortfield.setStyle("locale", "en-US");
sort.fields = [sortfield];
col.sort = sort;
There are situations in which the collection contains simple items, like
String
, Date
, Boolean
, etc.
In this case, sorting should be applied to the simple type directly.
When constructing a sort for this situation only a single sort field is
required and should not have a name
specified.
For example:
var col:ICollectionView = new ArrayCollection();
col.addItem("California");
col.addItem("Arizona");
var sort:Sort = new Sort();
var sortfield:SortField = new SortField(null, true);
sortfield.setStyle("locale", "en-US");
sort.fields = [sortfield];
col.sort = sort;
The default comparison provided by the SortField
class
provides correct language specific
sorting for strings. The language is selected by the setting the locale
style on an instance of the class in one of the following ways:
- By using the class in an MXML declaration and inheriting the locale from the document that contains the declaration. Example:
<fx:Declarations> <s:SortField id="sf" /> </fx:Declarations>
<fx:Declarations> <s:SortField id="sf_SimplifiedChinese" locale="zh-Hans-CN" /> </fx:Declarations>
setStyle
method,
e.g. sf.setStyle("locale", "zh-Hans-CN")
UIComponent
by calling the
UIComponent's addStyleClient()
method.

The <s:SortField>
tag has the following attributes:
<s:SortField Properties compareFunction="Internal compare function" descending="false" name="null" numeric="null" />
More examples
Related API Elements
Property | Defined By | ||
---|---|---|---|
![]() | constructor : Object
A reference to the class object or constructor function for a given object instance. | Object |
Method | Defined By | ||
---|---|---|---|
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event. | EventDispatcher | |
![]() |
Dispatches an event into the event flow. | EventDispatcher | |
![]() |
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | |
![]() |
Indicates whether an object has a specified property defined. | Object | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | |
![]() |
Indicates whether the specified property exists and is enumerable. | Object | |
![]() |
Removes a listener from the EventDispatcher object. | EventDispatcher | |
![]() |
Sets the availability of a dynamic property for loop operations. | Object | |
![]() |
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | |
![]() |
Returns the string representation of the specified object. | Object | |
![]() |
Returns the primitive value of the specified object. | Object | |
![]() |
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher |
Styles are either common or associated with a specific theme. If the style is common, it can be used with any theme. If a style is associated with a specific theme, it can only be used if your application uses that theme.
Style | Description | Defined By | ||
---|---|---|---|---|
locale | Type: String CSS Inheritance: Yes Language Version: ActionScript 3.0 Product Version: Flex 4.5 Runtime Versions: Flash10.1, AIR 2.5 The locale identifier that specifies the language, region, script and optionally other related tags and keys. The syntax of this identifier must follow the syntax defined by the Unicode Technical Standard #35 (for example, en-US, de-DE, zh-Hans-CN). For browser based apps, the default locale is based on the language settings from the browser. (Note that this is not the browser UI language that is available from Javascript, but rather is the list of preferred locales for web pages that the user has set in the browser preferences.) For AIR applications, the default UI locale is based on the user's system preferences. Learn more | SortField |
<?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" minWidth="955" minHeight="600"> <!-- Sample program for spark.collections.Sort and SortField --> <fx:Declarations> <s:Sort id="sortbyLastName_FirstName"> <s:fields> <s:SortField name="last"/> <s:SortField name="first"/> </s:fields> </s:Sort> <mx:ArrayCollection id="collection" sort="{sortbyLastName_FirstName}"> <mx:source> <fx:Object first="Anders" last="Dickerson"/> <fx:Object first="Eileen" last="Maccormick"/> <fx:Object first="Aiden" last="MacCormick"/> <fx:Object first="Steve" last="MacGregor"/> </mx:source> </mx:ArrayCollection> </fx:Declarations> <s:VGroup> <s:VGroup> <s:HGroup> <s:Label text="Input Locale ID Name: "/> <s:TextInput id="inputLocaleIDName"/> <!-- Sets the locale style on the document UI component. The SortField and Sort objects defined in the fx:Declarations section will inherit this style. --> <s:Button click="{setStyle('locale', inputLocaleIDName.text); collection.refresh()}" label="Apply"/> </s:HGroup> <s:Label text="Example: 'en-US', 'fr-FR', 'zh-CN', 'ar-SA'"/> </s:VGroup> <s:DataGrid dataProvider="{collection}" width="100%" creationComplete="{collection.refresh()}"> <s:columns> <s:ArrayList> <s:GridColumn dataField="last"/> <s:GridColumn dataField="first"/> </s:ArrayList> </s:columns> </s:DataGrid> </s:VGroup> </s:Application>
<?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" minWidth="955" minHeight="600" creationComplete="initApp()"> <!-- Sample program for spark.collections.Sort and SortField --> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import spark.collections.*; [Bindable] private var collection:ArrayCollection = new ArrayCollection(); private function localeChange():void { // Sets the locale style on this application. // The SortField objects will inherit this style. setStyle('locale', inputLocaleIDName.text); collection.refresh(); } private function initApp() : void { // Add data to the collection. collection.addItem({first:"Anders", last:"Dickerson"}); collection.addItem({first:"Steve", last:"Maccormick"}); collection.addItem({first:"Aiden", last:"MacCormick"}); collection.addItem({first:"Eileen", last:"MacGregor"}); // Create the Sort instance. var sort:Sort = new Sort(); // Set the sort field; sort on the last name first, first name // second. var sortfieldLastName:SortField = new SortField("last",true); var sortfieldFirstName:SortField = new SortField("first",true); sort.fields = [sortfieldLastName, sortfieldFirstName]; // Add the sort field objects to this application's list of // style clients. This will cause the sort field objects to // inherit the locale style from this Application. addStyleClient(sortfieldLastName); addStyleClient(sortfieldFirstName); // Assign the Sort object to the view. collection.sort = sort; // Apply the sort to the collection. collection.refresh(); } ]]> </fx:Script> <s:VGroup> <s:VGroup> <s:HGroup> <s:Label text="Input Locale ID Name: "/> <s:TextInput id="inputLocaleIDName"/> <s:Button click="localeChange()" label="Apply"/> </s:HGroup> <s:Label text="Example: 'en-US', 'fr-FR', 'zh-CN', 'ar-SA'"/> </s:VGroup> <s:DataGrid dataProvider="{collection}" width="100%" creationComplete="{collection.refresh()}"> <s:columns> <s:ArrayList> <s:GridColumn dataField="last"/> <s:GridColumn dataField="first"/> </s:ArrayList> </s:columns> </s:DataGrid> </s:VGroup> </s:Application>
Wed Nov 21 2018, 06:34 AM -08:00