Paket | spark.collections |
Klasse | public class SortField |
Vererbung | SortField AdvancedStyleClient EventDispatcher Object |
Implementiert | ISortField |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | 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;
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 Datentyp angewendet. Bei der Erstellung einer Sortierung für diese Situation ist nur ein einzelnes Sortierfeld erforderlich, für das name
nicht angegeben sein sollte. Beispiel:
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;
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:SortField>
tag has the following attributes:
<s:SortField Properties compareFunction="Internal compare function" descending="false" name="null" numeric="null" />
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
arraySortOnOptions : int [schreibgeschützt]
Diese helper-Eigenschaft wird intern in der findItem()- und sort()-Methode verwendet. | SortField | ||
className : String [schreibgeschützt]
Der Name der Komponentenklasse. | AdvancedStyleClient | ||
compareFunction : Function
Die Funktion, die zwei Elemente bei der Sortierung von Elementen für die zugehörige Sammlung vergleicht. | SortField | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
descending : Boolean
Gibt an, ob dieses Feld in absteigender Reihenfolge sortiert werden soll. | SortField | ||
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 | ||
name : String
Der Name des zu sortierenden Felds. | SortField | ||
nonInheritingStyles : Object
Beginn der Kette von Komponentenstilen, die keine Vererbungsstile sind. | AdvancedStyleClient | ||
numeric : Object
Gibt an, dass der Komparator einen numerischen Vergleich verwendet, wenn das sortierte Feld numerische Werte (number/int/uint) oder Stringdarstellungen numerischer Werte enthält. | SortField | ||
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 | ||
usingCustomCompareFunction : Boolean [schreibgeschützt]
„True“, wenn dieses ISortField eine benutzerdefinierte Komparator-Funktion verwendet. | SortField |
Methode | Definiert von | ||
---|---|---|---|
Konstruktor. | SortField | ||
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 | ||
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 | ||
Eine Hilfsfunktion, die von der Sort-Klasse aufgerufen wird, um die Standardvergleichsfunktion zur Durchführung eines Vergleichs basierend auf einer von drei Möglichkeiten festzulegen: ob eine benutzerdefinierte Vergleichsfunktion, der Datentyp für das angegebene Feld oder der Wert der numerischen Eigenschaft festgelegt wurde. | SortField | ||
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 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 | ||
Die Kriterien für dieses Sortierfeld umkehren. | SortField | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Legt eine Stileigenschaft für diese Komponenteninstanz fest. | AdvancedStyleClient | ||
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 | SortField |
arraySortOnOptions | Eigenschaft |
arraySortOnOptions:int
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Diese helper-Eigenschaft wird intern in der findItem()
- und sort()
-Methode verwendet. Andere Verwendungen dieser Eigenschaft werden nicht unterstützt. Gibt -1 zurück, wenn dieses ISortField nicht von der Sort
-Klasse zum Sortieren des Felds verwendet werden soll (es gibt keine compareFunction und keinen Namen). Andernfalls wird eine Bitmask von Sortieroptionen zurückgegeben.
Implementierung
public function get arraySortOnOptions():int
compareFunction | Eigenschaft |
compareFunction:Function
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Die Funktion, die zwei Elemente bei der Sortierung von Elementen für die zugehörige Sammlung vergleicht. Wenn Sie eine compareFunction
-Eigenschaft in einem ISort-Objekt
angeben, ignoriert Flex alle compareFunction
-Eigenschaften der SortField
-Objekte der ISort.
Die Vergleichsfunktion muss folgende Signatur haben:
function myCompare(a:Object, b:Object):int
Diese Funktion muss folgende Werte zurückgeben:
- -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
Der Standardwert ist eine interne Vergleichsfunktion, die einen Vergleich von Strings, numerischen Werten oder Datumsangaben in aufsteigender oder absteigender Reihenfolge durchführen kann. Der Stringvergleich wird mithilfe der gebietsschemaspezifischen (Sprache, Region und Skript) Vergleichsmethode aus der SortingCollator
-Klasse ausgeführt. Diese Klasse verwendet den Gebietsschemastil, um ein Gebietsschema zu bestimmen. 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.
Implementierung
public function get compareFunction():Function
public function set compareFunction(value:Function):void
descending | Eigenschaft |
descending:Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Gibt an, ob dieses Feld in absteigender Reihenfolge sortiert werden soll.
Der Standardwert ist false
(aufsteigend).
Diese Eigenschaft kann als Quelle für die Datenbindung verwendet werden. Beim Ändern dieser Eigenschaft wird das descendingChanged
-Ereignis ausgelöst.
Implementierung
public function get descending():Boolean
public function set descending(value:Boolean):void
name | Eigenschaft |
name:String
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Der Name des zu sortierenden Felds.
Der Standardwert ist null.
Diese Eigenschaft kann als Quelle für die Datenbindung verwendet werden. Beim Ändern dieser Eigenschaft wird das nameChanged
-Ereignis ausgelöst.
Implementierung
public function get name():String
public function set name(value:String):void
numeric | Eigenschaft |
numeric:Object
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Gibt an, dass der Komparator einen numerischen Vergleich verwendet, wenn das sortierte Feld numerische Werte (number/int/uint
) oder Stringdarstellungen numerischer Werte enthält.
Diese Eigenschaft wird von der SortField
-Klasse verwendet, wenn die benutzerdefinierte Vergleichsfunktion nicht bereitgestellt wird.
Wenn diese Eigenschaft true
ist, wird die integrierte Vergleichsfunktion verwendet. Jedes Datenelement wird vor dem Vergleich in eine Number()
-Funktion umgewandelt.
Wenn diese Eigenschaft false
ist, wird die integrierte Stringvergleichsfunktion verwendet. Jedes Datenelement wird vor dem Vergleich in eine String()
-Funktion umgewandelt.
Wenn diese Eigenschaft null
ist, wird das erste Datenelement geprüft, um festzustellen, ob es sich um eine Zahl oder einen String handelt, und die Sortierung wird basierend auf dieser Prüfung fortgesetzt.
Der Standardwert ist null.
Diese Eigenschaft kann als Quelle für die Datenbindung verwendet werden. Beim Ändern dieser Eigenschaft wird das numericChanged
-Ereignis ausgelöst.
Implementierung
public function get numeric():Object
public function set numeric(value:Object):void
usingCustomCompareFunction | Eigenschaft |
usingCustomCompareFunction:Boolean
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
„True“, wenn dieses ISortField
eine benutzerdefinierte Komparator-Funktion verwendet.
Implementierung
public function get usingCustomCompareFunction():Boolean
SortField | () | Konstruktor |
public function SortField(name:String = null, descending:Boolean = false, numeric:Object = null)
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Konstruktor.
Parametername:String (default = null ) — Der Name der Eigenschaft, die dieses Feld für den Vergleich verwendet. Wenn das Objekt ein einfacher Typ ist, übergeben Sie null .
| |
descending:Boolean (default = false ) — Weist den Komparator an, ob Elemente in absteigender Reihenfolge angeordnet werden sollen.
| |
numeric:Object (default = null ) — Weist den Komparator an, ob Sortierelemente als Zahlenwerte verglichen werden sollen, anstatt alphabetisch.
|
initializeDefaultCompareFunction | () | Methode |
public function initializeDefaultCompareFunction(obj:Object):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Eine Hilfsfunktion, die von der Sort
-Klasse aufgerufen wird, um die Standardvergleichsfunktion zur Durchführung eines Vergleichs basierend auf einer von drei Möglichkeiten festzulegen: ob eine benutzerdefinierte Vergleichsfunktion, der Datentyp für das angegebene Feld oder der Wert der numerischen Eigenschaft festgelegt wurde. Wenn die numeric
-Eigenschaft „true“ ist, wird beim Sortieren ein numerischer Vergleich durchgeführt.
Parameter
obj:Object — Das Objekt, das die Daten enthält. Wenn der Feldname mit den Namenseigenschaften festgelegt wurde, wird mit dem Namen auf den Datenwert von diesem Objekt zugegriffen. Andernfalls wird das Objekt selbst als Datenwert verwendet.
|
reverse | () | Methode |
public function reverse():void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 4.5 |
Laufzeitversionen: | Flash Player 10.1, AIR 2.5 |
Die Kriterien für dieses Sortierfeld umkehren. Wenn das Feld z. B. in absteigender Reihenfolge sortiert war, wird es in aufsteigender Reihenfolge sortiert.
Hinweis: Eine ICollectionView
wird nicht automatisch aktualisiert, wenn die ISortFields
geändert werden. Rufen Sie zur Aktualisierung der Ansicht ihre refresh()
-Methode auf.
<?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