Paket | spark.collections |
Klasse | public class Sort |
Vererbung | Sort AdvancedStyleClient EventDispatcher Object |
Implementiert | ISort |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
ICollectionView
-Schnittstelle oder Klasse, die die Schnittstelle implementiert). Nachdem Sie der sort
-Eigenschaft der Ansicht eine Sort
-Instanz zugewiesen haben, müssen Sie die refresh()
-Methode der Ansicht aufrufen, um die Sortierkriterien anzuwenden.
Normalerweise wird die Sortierung für Sammlungen komplexer Elemente definiert, also für Sammlungen, in denen die Sortierung einer oder mehrerer Eigenschaften der Objekte in der Sammlung durchgeführt wird. Das folgende Beispiel veranschaulicht diese Verwendung:
var col:ICollectionView = new ArrayCollection();
// In the real world, the collection would have more than one item.
col.addItem({first:"Anders", last:"Dickerson"});
// Create the Sort instance.
var sort:ISort = new Sort();
// Set the sort field; sort on the last name first, first name second.
var sortfieldLastName:ISortField = new SortField("last",true);
var sortfieldFirstName:ISortField = new SortField("first",true);
// Set the locale style to "en-US" to cause the strings
// to be ordered according to the rules for English as used in the USA.
sortfieldLastName.setStyle("locale","en-US");
sortfieldFirstName.setStyle("locale","en-US");
sort.fields = [sortfieldLastName, sortfieldFirstName];
// Assign the Sort object to the view.
col.sort = sort;
// Apply the sort to the collection.
col.refresh();
Es gibt Situationen, in denen die Sammlung einfache Elemente enthält, wie String
, Date
, Boolean
usw. In diesem Fall wird die Sortierung direkt auf den einfachen Typ angewendet. Bei der Erstellung einer Sortierung für einfache Elemente verwenden Sie ein einzelnes Sortierfeld und geben im SortField-Objektkonstruktor einen (ersten) Parameter null
name
an. Beispiel:
import mx.collections.ArrayCollection;
import spark.collections.Sort;
import spark.collections.SortField;
var col:ICollectionView = new ArrayCollection();
col.addItem("California");
col.addItem("Arizona");
var sort:Sort = new Sort();
// There is only one sort field, so use a null
// first parameter.
var sortfield:SortField = new SortField("null",true);
// Set the locale style to "en-US" to set the language for the sort.
sortfield.setStyle("locale","en-US");
sort.fields = [sortfield];
col.sort = sort;
col.refresh();
Die Flex-Implementierungen der ICollectionView
-Schnittstelle rufen alle Elemente von einer Remote-Position ab, bevor eine Sortierung durchgeführt wird. Wenn Sie bei einer sortierten Liste Paging verwenden, wenden Sie die Sortierung auf die Remote-Sammlung an, bevor Sie die Daten abrufen.
Der von der SortField
-Klasse bereitgestellte Standardvergleich stellt eine korrekte sprachspezifische Sortierung für Strings bereit. Die Sprache wird durch Einstellen des Gebietsschemastils auf einer Instanz der Klasse auf eine der folgenden Arten ausgewählt:
- Durch Verwenden der Klasse in einer MXML-Deklaration und Übernehmen des Gebietsschemas aus dem Dokument, das die Deklaration enthält. Beispiel:
<fx:Declarations> <s:SortField id="sf" /> </fx:Declarations>
<fx:Declarations> <s:SortField id="sf_SimplifiedChinese" locale="zh-Hans-CN" /> </fx:Declarations>
setStyle
-Methode, z. B. f.setStyle("locale", "zh-Hans-CN")
aufrufen
UIComponent
durch Aufruf der addStyleClient()
-Methode der UIComponent.
The <s:Sort>
tag has the following attributes:
<s:Sort Properties compareFunction="Internal compare function" fields="null" unique="false | true" />
In case items have inconsistent data types or items have complex data types, use of default built-in compare functions is not desired. Inconsistent sort result may occur in such cases. To avoid such problem, provide custom compare function and/or make item types consistent.
Standard-MXML-Eigenschaftfields
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
className : String [schreibgeschützt]
Der Name der Komponentenklasse. | AdvancedStyleClient | ||
compareFunction : Function
Die Methode, die für den Vergleich von Elementen bei der Sortierung verwendet wird. | Sort | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
fields : Array
Ein Array von ISortField-Objekten, das die zu vergleichenden Felder angibt. | Sort | ||
id : String
Die Identität der Komponente. | AdvancedStyleClient | ||
inheritingStyles : Object
Ein Objekt, das die vererbbaren Stile für diese nichtvisuelle Stilclientinstanz enthält. | AdvancedStyleClient | ||
moduleFactory : IFlexModuleFactory
Eine Module-Factory wird als Kontext zum Suchen des Stilmanagers verwendet, der die Stile für diese nichtvisuelle Stilclientinstanz steuert. | AdvancedStyleClient | ||
nonInheritingStyles : Object
Beginn der Kette von Komponentenstilen, die keine Vererbungsstile sind. | AdvancedStyleClient | ||
styleDeclaration : CSSStyleDeclaration
Die Stildeklaration, die die von diesem Objekt deklarierten Inline-Stile enthält. | AdvancedStyleClient | ||
styleManager : IStyleManager2 [schreibgeschützt]
Gibt die von dieser Komponente verwendete StyleManager-Instanz zurück. | AdvancedStyleClient | ||
styleName : Object
Die Quelle der Stilwerte dieses Objekts. | AdvancedStyleClient | ||
styleParent : IAdvancedStyleClient
Das übergeordnete Element einer Komponente wird zur Überprüfung der untergeordneten Selektoren verwendet. | AdvancedStyleClient | ||
unique : Boolean
Gibt an, ob die Sortierung eindeutig sein soll. | Sort |
Methode | Definiert von | ||
---|---|---|---|
Sort()
Konstruktor. | Sort | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Löscht eine Stileigenschaft aus dieser Komponenteninstanz. | AdvancedStyleClient | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
findItem(items:Array, values:Object, mode:String, returnInsertionIndex:Boolean = false, compareFunction:Function = null):int
Sucht das angegebene Objekt im angegebenen Array (oder ggf. die Einfügemarke) und gibt die Indexposition zurück, falls sie gefunden wird, andernfalls -1. | Sort | ||
Gibt einen Array von CSSStyleDeclaration-Objekten für den Typselektor zurück, der auf diese Komponente anzuwenden ist, oder „null“, wenn keiner existiert. | AdvancedStyleClient | ||
Ruft eine Stileigenschaft ab, die an einer beliebigen Stelle in der Stilkette der Komponente festgelegt ist. | AdvancedStyleClient | ||
Gibt true zurück, wenn currentCSSState ungleich null ist. | AdvancedStyleClient | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Die initialized-Methode wird aufgerufen, wenn diese Klasse oder eine Klasse, die diese Klasse erweitert, in einer MXML-Deklaration verwendet wird. | AdvancedStyleClient | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt „true“ zurück, wenn cssState mit currentCSSState übereinstimmt. | AdvancedStyleClient | ||
Bestimmt, ob diese Instanz dem angegebenen Typ entspricht oder eine Unterklasse davon ist. | AdvancedStyleClient | ||
Gibt Stiländerungen an die untergeordneten Elemente dieser Stilclientinstanz weiter. | AdvancedStyleClient | ||
Gibt zurück, ob die angegebene Eigenschaft zur Steuerung der Sortierung verwendet wird. | Sort | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die internen Stilcachewerte fest, sodass die getStyle()-Methode funktioniert. | AdvancedStyleClient | ||
Registriert den EffectManager als einen der Ereignis-Listener für jedes Effekt-Ereignis. | AdvancedStyleClient | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Durchläuft das Feldarray und ruft reverse() für jedes ISortField-Objekt im Array auf. | Sort | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Legt eine Stileigenschaft für diese Komponenteninstanz fest. | AdvancedStyleClient | ||
Die aktuelle Sortierung auf das angegebene Array anwenden (keine Kopie davon). | Sort | ||
Erkennt Änderungen an Stileigenschaften. | AdvancedStyleClient | ||
Flex ruft die stylesInitialized()-Methode auf, wenn die Stile für eine Komponente zum ersten Mal initialisiert werden. | AdvancedStyleClient | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Stile sind entweder allgemein oder mit einem bestimmten Thema verknüpft. Allgemeine Stile können mit jedem Thema verwendet werden. Stile, die mit einem bestimmten Thema verknüpft sind, können nur verwendet werden, wenn Ihre Anwendung dieses Thema verwendet.
Stil | Beschreibung | Definiert von | ||
---|---|---|---|---|
locale | Typ: String CSS-Vererbung: Ja Sprachversion: ActionScript 3.0 Produktversion: Flex 4.5 Laufzeitversionen: Flash10.1, AIR 2.5 Die Gebietsschema-ID, die die Tags und Schlüssel für Sprache, Region und Skript sowie optional weitere entsprechende Tags und Schlüssel angibt. Die Syntax dieser ID muss der Syntax folgen, die durch den Unicode Technical Standard #35 (z. B. en-US, de-DE, zh-Hans-CN) definiert wurde. Für browserbasierte Anwendungen basiert das Standardgebietsschema auf den Spracheinstellungen des Browsers. (Beachten Sie, dass dies nicht die Benutzeroberflächen-Sprache des Browsers ist, die in Javascript verfügbar ist, sondern vielmehr die Liste bevorzugter Gebietsschemas für Webseiten, die der Benutzer in den Browservoreinstellungen festgelegt hat.) Für AIR-Anwendungen basiert das standardmäßige Benutzeroberflächengebietsschema auf den Systemeinstellungen des Benutzers. Weitere Informationen | Sort |
Konstante | Definiert von | ||
---|---|---|---|
ANY_INDEX_MODE : String = "any" [statisch]
Bei der Ausführung einer Suche den Index für alle übereinstimmenden Elemente zurückgeben. | Sort | ||
FIRST_INDEX_MODE : String = "first" [statisch]
Bei der Ausführung einer Suche den Index für das erste übereinstimmende Element zurückgeben. | Sort | ||
LAST_INDEX_MODE : String = "last" [statisch]
Bei der Ausführung eines Suche den Index für das letzte übereinstimmende Element zurückgeben. | Sort |
compareFunction | Eigenschaft |
compareFunction:Function
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 1.5 |
Die Methode, die für den Vergleich von Elementen bei der Sortierung verwendet wird. Wenn Sie diese Eigenschaft angeben, ignoriert Flex alle compareFunction
-Eigenschaften, die Sie in den ISortField
-Objekten angeben, die Sie in dieser Klasse verwenden.
Die Vergleichsfunktion muss folgende Signatur haben:
function [name](a:Object, b:Object, fields:Array = null):int
Diese Funktion muss Folgendes zurückgeben value:
- -1, wenn das
Object a
vor demObject b
in der sortierten Sequenz erscheinen soll - 0, wenn
Object a
Object b
entspricht - 1, wenn das
Object a
nach demObject b
in der sortierten Sequenz erscheinen soll
Um zur internen Vergleichsfunktion zurückzukehren, setzen Sie diesen Wert auf null
.
Das fields
-Array gibt die zu vergleichenden Objektfelder an. Normalerweise vergleicht der Algorithmus Eigenschaften, bis die Feldliste abgearbeitet wurde oder ein Wert ungleich null zurückgegeben werden kann. Beispiel:
function myCompare(a:Object, b:Object, fields:Array = null):int
{
var result:int = 0;
var i:int = 0;
var propList:Array = fields ? fields : internalPropList;
var len:int = propList.length;
var propName:String;
while (result == 0 && (i < len))
{
propName = propList[i];
result = compareValues(a[propName], b[propName]);
i++;
}
return result;
}
function compareValues(a:Object, b:Object):int
{
if (a == null && b == null)
return 0;
if (a == null)
return 1;
if (b == null)
return -1;
if (a < b)
return -1;
if (a > b)
return 1;
return 0;
}
Der Standardwert ist eine interne Vergleichsfunktion, die einen Vergleich von Strings, numerischen Werten oder Datumsangaben in aufsteigender oder absteigender Reihenfolge durchführen kann. Geben Sie Ihre eigene Funktion nur an, wenn ein benutzerdefinierter Vergleichsalgorithmus erforderlich ist. Dies ist normalerweise nur der Fall, wenn ein berechnetes Feld in einer Anzeige verwendet wird.
Alternativ dazu können Sie für jedes Sortierfeld mithilfe der compareFunction
-Eigenschaft der ISortField
-Klasse eigene Vergleichsfunktionen festlegen. Auf diese Weise können Sie für bestimmte Felder den Standardvergleich und für andere Felder einen benutzerdefinierten Vergleich verwenden.
Implementierung
public function get compareFunction():Function
public function set compareFunction(value:Function):void
fields | Eigenschaft |
fields:Array
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Ein Array
von ISortField
-Objekten, das die zu vergleichenden Felder angibt. Die Reihenfolge der ISortField-Objekte im Array bestimmt die Reihenfolge der Feldpriorität bei der Sortierung. Der Standardsortierkomparator prüft die Sortierfelder in der Arrayreihenfolge, bis eine Sortierreihenfolge für die beiden verglichenen Felder bestimmt werden kann.
Der Standardwert ist null.
Diese Eigenschaft kann als Quelle für die Datenbindung verwendet werden. Beim Ändern dieser Eigenschaft wird das fieldsChanged
-Ereignis ausgelöst.
Implementierung
public function get fields():Array
public function set fields(value:Array):void
Verwandte API-Elemente
unique | Eigenschaft |
unique:Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 1.5 |
Gibt an, ob die Sortierung eindeutig sein soll. Eindeutige Sortierungen schlagen fehl, wenn ein Wert oder kombinierter Wert, der von den im Feldeigenschaftenergebnis aufgeführten Feldern angegeben wird, eine unbestimmte oder nicht-eindeutige Sortierreihenfolge ergibt, d. h., wenn zwei oder mehr Elemente identische Sortierfeldwerte haben. Ein Fehler wird ausgegeben, wenn die Sortierung nicht eindeutig ist. Die Sortierungslogik verwendet diesen unique
-Eigenschaftswert nur, wenn jedes Sortierfeld explizit festgelegt wird. Wenn kein Sortierfeld explizit festgelegt wird, wird kein Fehler ausgegeben, selbst wenn identische Wertelemente vorhanden sind.
Der Standardwert ist false.
Implementierung
public function get unique():Boolean
public function set unique(value:Boolean):void
Sort | () | Konstruktor |
public function Sort()
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Konstruktor.
Erstellt eine neue Sort-Instanz ohne eingerichtete Felder und benutzerdefinierten Komparator.
findItem | () | Methode |
public function findItem(items:Array, values:Object, mode:String, returnInsertionIndex:Boolean = false, compareFunction:Function = null):int
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Sucht das angegebene Objekt im angegebenen Array (oder ggf. die Einfügemarke) und gibt den Index zurück, falls er gefunden wird, andernfalls -1. Die findxxx()
-Methoden der ListCollectionView
-Klasse verwenden diese Methode, um das abgefragte Element zu suchen. Es ist im Allgemeinen einfacher, diese Funktionen anstelle von findItem()
zu verwenden, um Daten in ListCollectionView
-basierten Objekten zu suchen. Sie rufen die findItem()
-Methode direkt auf, wenn Sie eine Klasse schreiben, die die Sortierung unterstützt, wie etwa eine neue ICollectionView
-Implementierung. Das Eingabeelementarray muss vor dem Aufrufen dieser Funktion sortiert werden. Ansonsten kann diese Funktion den angegebenen Wert nicht richtig finden.
Parameter
items:Array — Das Array, in dem gesucht werden soll.
| |||||||
values:Object — Objekt, das die zu suchenden Eigenschaften enthält (oder das zu suchende Objekt selbst). Das Objekt muss aus Feldnamen/Werte-Paaren bestehen, wobei die Feldnamen die Namen von Feldern sind, die von der fields -Eigenschaft festgelegt wurden, und dieselbe Reihenfolge haben, in der sie in dieser Eigenschaft verwendet werden. Sie müssen nicht alle Felder aus der fields -Eigenschaft angeben, doch es ist nicht möglich, Felder in der Reihenfolge zu überspringen. Wenn die fields -Eigenschaft drei Felder auflistet, können Sie daher das erste und das zweite Feld in diesem Parameter angeben, nicht jedoch das erste und das dritte Feld.
| |||||||
mode:String — String, der den Typ des auszuführenden Suchvorgangs enthält. Gültige Werte sind:
| |||||||
returnInsertionIndex:Boolean (default = false ) — Wenn die Methode kein vom values -Parameter identifiziertes Element findet und dieser Parameter true ist, gibt die findItem() -Methode die Einfügemarke für die Werte zurück. Dies ist die Stelle in der sortierten Reihenfolge, an der das Element eingefügt werden soll.
| |||||||
compareFunction:Function (default = null ) — Eine Komparator-Funktion zum Suchen des Elements. Wenn Sie diesen Parameter nicht angeben oder einen null -Wert bereitstellen, verwendet die findItem() -Funktion die von der compareFunction -Eigenschaft der ISort -Instanz festgelegte Vergleichsfunktion, die in den vom Werteobjekt und den derzeitigen SortFields bestimmten Feldarray übergeben wurde. Wenn Sie einen anderen Wert als null bereitstellen, verwendet die findItem() -Funktion diesen als die Vergleichsfunktion. Die Signatur der Funktion, die als compareFunction übergeben wurde, muss wie folgt lauten: function myCompareFunction(a:Object, b:Object):int . Beachten Sie, dass es kein drittes Argument gibt, im Gegensatz zur Vergleichsfunktion für die ISort.compareFunction() -Eigenschaft.
|
int — int Die Indexposition im Array des gefundenen Elements. Wenn der Parameter returnInsertionIndex den Wert false hat und das Element nicht gefunden wird. Gibt -1 zurück. Wenn der Parameter returnInsertionIndex den Wert true hat und das Element nicht gefunden wird, wird der Index des Punkts im sortierten Array zurückgegeben, an dem die Werte eingefügt würden.
|
propertyAffectsSort | () | Methode |
public function propertyAffectsSort(property:String):Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Gibt zurück, ob die angegebene Eigenschaft zur Steuerung der Sortierung verwendet wird. Die Funktion kann keine definitive Antwort ermitteln, wenn die Sortierung einen benutzerdefinierten Komparator verwendet. Sie gibt in diesem Fall immer true
zurück.
Parameter
property:String — Der Name des zu testenden Felds.
|
Boolean — Ob der Eigenschaftswert Einfluss auf das Sortierergebnis haben kann. Wenn die Sortierung die compareFunction-Standardfunktion verwendet, wird true zurückgegeben, wenn der property -Parameter ein Sortierfeld angibt. Wenn die Sortierung oder ein beliebiges ISortField einen benutzerdefinierten Komparator verwendet, ist es nicht möglich, dies zu ermitteln. Daher wird true zurückgegeben.
|
reverse | () | Methode |
public function reverse():void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Durchläuft das fields
-Array und ruft reverse()
für jedes ISortField
-Objekt im Array auf. Wenn das Feld absteigend sortiert war, ist es nun aufsteigend sortiert und umgekehrt.
Hinweis: Eine ICollectionView
wird nicht automatisch aktualisiert, wenn die Objekte im fields
-Array geändert werden. Rufen Sie zur Aktualisierung der Ansicht ihre refresh()
-Methode auf.
sort | () | Methode |
public function sort(items:Array):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Die aktuelle Sortierung auf das angegebene Array anwenden (keine Kopie davon). Um zu verhindern, dass das Array geändert wird, erstellen Sie eine Kopie und verwenden die Kopie im items
-Parameter.
ICollectionView
-Implementierungen von Flex rufen die sort
-Methode automatisch auf und stellen sicher, dass die Sortierung an einer Kopie der zugrunde liegenden Daten ausgeführt wird.
Parameter
items:Array — Array von zu sortierenden Elementen.
|
ANY_INDEX_MODE | Konstante |
public static const ANY_INDEX_MODE:String = "any"
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Bei der Ausführung einer Suche den Index für alle übereinstimmenden Elemente zurückgeben.
FIRST_INDEX_MODE | Konstante |
public static const FIRST_INDEX_MODE:String = "first"
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Bei der Ausführung einer Suche den Index für das erste übereinstimmende Element zurückgeben.
LAST_INDEX_MODE | Konstante |
public static const LAST_INDEX_MODE:String = "last"
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Bei der Ausführung einer Suche den Index für das letzte übereinstimmende Element zurückgeben.
<?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>
Tue Jun 12 2018, 10:04 AM Z