Package | spark.collections |
Classe | public class SortField |
Héritage | SortField AdvancedStyleClient EventDispatcher Object |
Implémente | ISortField |
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | 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;
Dans certaines situations, la collection contient des éléments simples de type String
, Date
, Boolean
, etc. Dans ce cas, le tri doit être appliqué directement au type simple. Lorsque vous créez un tri pour cette fonction, un seul champ de tri est nécessaire. Sa propriété name
ne doit pas être définie. Par exemple :
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;
La comparaison par défaut fournie par la classe SortField
permet d’effectuer correctement un tri spécifique par langue des chaînes de caractères. La langue est sélectionnée en définissant le style de langue sur une instance de la classe de l’une des façons suivantes :
- En utilisant la classe dans une déclaration MXML et en héritant les paramètres régionaux à partir du document qui contient la déclaration. Exemple :
<fx:Declarations> <s:SortField id="sf" /> </fx:Declarations>
<fx:Declarations> <s:SortField id="sf_SimplifiedChinese" locale="zh-Hans-CN" /> </fx:Declarations>
setStyle
, par ex. sf.setStyle("locale", "zh-Hans-CN")
UIComponent
en appelant la méthode addStyleClient()
du composant UIComponent.
The <s:SortField>
tag has the following attributes:
<s:SortField Properties compareFunction="Internal compare function" descending="false" name="null" numeric="null" />
Eléments de l’API associés
Propriété | Défini par | ||
---|---|---|---|
arraySortOnOptions : int [lecture seule]
Cette propriété d’assistance est utilisée en interne par les méthodes findItem() et sort(). | SortField | ||
className : String [lecture seule]
Nom de la classe du composant. | AdvancedStyleClient | ||
compareFunction : Function
Fonction comparant deux éléments lors d’un tri d’éléments pour la collection associée. | SortField | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
descending : Boolean
Détermine si ce champ doit être trié dans l’ordre décroissant. | SortField | ||
id : String
Identité du composant. | AdvancedStyleClient | ||
inheritingStyles : Object
Objet contenant les styles héritables de cette instance de client de style non visuel. | AdvancedStyleClient | ||
moduleFactory : IFlexModuleFactory
Une fabrique de modules est utilisée comme contexte pour la recherche du gestionnaire de style qui contrôle les styles de cette instance de client de style non visuel. | AdvancedStyleClient | ||
name : String
Nom du champ à trier. | SortField | ||
nonInheritingStyles : Object
Début de la chaîne de styles non hérités de ce composant. | AdvancedStyleClient | ||
numeric : Object
Force le comparateur à utiliser une comparaison numérique si le champ trié contient des valeurs numériques (number/int/uint) ou des représentations de chaîne de valeurs numériques. | SortField | ||
styleDeclaration : CSSStyleDeclaration
Déclaration de style contenant les styles en ligne déclarés par cet objet. | AdvancedStyleClient | ||
styleManager : IStyleManager2 [lecture seule]
Renvoie l’instance SystemManager utilisée par ce composant. | AdvancedStyleClient | ||
styleName : Object
Source des valeurs de style de cet objet. | AdvancedStyleClient | ||
styleParent : IAdvancedStyleClient
Le parent d’un composant permet d’évaluer les sélecteurs descendants. | AdvancedStyleClient | ||
usingCustomCompareFunction : Boolean [lecture seule]
La valeur est true si cet objet ISortField utilise une fonction de comparaison personnalisée. | SortField |
Méthode | Défini par | ||
---|---|---|---|
Constructeur. | SortField | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement. | EventDispatcher | ||
Supprime une propriété de style de cette instance de composant. | AdvancedStyleClient | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Renvoie un tableau d’objets CSSStyleDeclaration pour le sélecteur de type qui s’applique à ce composant. Renvoie la valeur null si aucun n’existe. | AdvancedStyleClient | ||
Extrait une propriété de style ayant été définie n’importe où dans la chaîne de recherche de style de ce composant. | AdvancedStyleClient | ||
Renvoie true si la valeur currentCSSState n’est pas nulle. | AdvancedStyleClient | ||
Vérifie si des écouteurs sont enregistrés auprès de l’objet EventDispatcher pour un type spécifique d’événement. | EventDispatcher | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
La méthode initialized est appelée lorsque cette classe ou une classe qui étend cette classe est utilisée dans une déclaration MXML. | AdvancedStyleClient | ||
Fonction d’assistance appelée par la classe de tri pour définir la fonction de comparaison par défaut et réaliser une comparaison en fonction de l’un de ces trois éléments : si une fonction de comparaison personnalisée a été définie ou non, le type de données du champ spécifié ou la valeur de la propriété numeric. | SortField | ||
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre. | Object | ||
Renvoie la valeur true si cssState correspond à currentCSSState. | AdvancedStyleClient | ||
Détermine si l’instance est identique au, ou est une sous-classe du, type donné. | AdvancedStyleClient | ||
Propage les changements de style aux enfants de cette instance du client de style. | AdvancedStyleClient | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Configure les valeurs de cache du style interne afin que la méthode getStyle() fonctionne. | AdvancedStyleClient | ||
Enregistre le gestionnaire EffectManager comme l’un des écouteurs d’événement pour chaque événement d’effet. | AdvancedStyleClient | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Inverse les critères de ce champ de tri. | SortField | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Définit une propriété de style pour cette instance de composant. | AdvancedStyleClient | ||
Détecte les modifications apportées aux propriétés de style. | AdvancedStyleClient | ||
Flex() appelle la méthode stylesInitialized() lorsque les styles d’un composant sont d’abord initialisés. | AdvancedStyleClient | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object | ||
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié. | EventDispatcher |
Les styles sont soit communs soit associés à un thème spécifique. Si le style est commun, il peut être utilisé avec n’importe quel thème. Si un style est associé à un thème spécifique, il ne peut être utilisé que si votre application utilise ce thème.
Style | Description | Défini par | ||
---|---|---|---|---|
locale | Type: String Héritage CSS: Oui Version du langage: ActionScript 3.0 Version du produit: Flex 4.5 Versions du moteur d’exécution: Flash10.1, AIR 2.5 L’identificateur de paramètres régionaux qui spécifie la langue, la région, le script et éventuellement d’autres balises et touches associées. La syntaxe de cet identificateur doit suivre la syntaxe définie par la norme technique Unicode nº 35 (par ex., fr-FR, de-DE, zh-Hans-CN). Pour les applications basées sur navigateur, les paramètres régionaux par défaut sont basés sur les paramètres de langue du navigateur. (Il convient de noter que ce n’est pas la langue de l’interface utilisateur du navigateur qui est disponible à partir de Javascript, mais plutôt la liste des paramètres régionaux préférés pour les pages Web que l’utilisateur a définis dans les préférences du navigateur.) Pour les applications AIR, le paramètre régional par défaut de l’interface utilisateur est basé sur des préférences système de l’utilisateur. Informations complémentaires | SortField |
arraySortOnOptions | propriété |
arraySortOnOptions:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Cette propriété d’assistance est utilisée en interne par les méthodes findItem()
et sort()
. Les autres utilisations de cette propriété ne sont pas prises en charge. Renvoie la valeur -1 si ISortField ne doit pas être utilisé par la classe Sort
pour trier le champ (il n’existe aucune fonction compareFunction ni de nom). Dans le cas contraire, renvoie un masque binaire d’options de tri.
Implémentation
public function get arraySortOnOptions():int
compareFunction | propriété |
compareFunction:Function
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Fonction comparant deux éléments lors d’un tri d’éléments pour la collection associée. Si vous spécifiez une propriété compareFunction
dans un objet ISort
, Flex ignore les propriétés compareFunction
des objets SortField
de l’objet ISort.
La fonction de comparaison doit présenter la signature suivante :
function myCompare(a:Object, b:Object):int
Cette fonction doit renvoyer les valeurs suivantes :
- -1, si
Object a
doit apparaître avantObject b
dans l’ordre de tri. - 0, si
Object a
est égal àObject b
. - 1, si
Object a
doit apparaître aprèsObject b
dans l’ordre de tri.
La valeur par défaut est une fonction de comparaison interne qui réalise une comparaison de chaîne, de nombre ou de date dans l’ordre croissant ou décroissant. La comparaison des chaînes est réalisée à l’aide de la méthode de comparaison spécifique aux paramètres régionaux (langue, région et script) de la classe SortingCollator
. Cette classe utilise le style des paramètres régionaux pour déterminer un paramètre régional. Spécifiez votre propre fonction uniquement si vous souhaitez disposer d’un algorithme de comparaison personnalisé. Normalement, cela est nécessaire uniquement lorsqu’un champ calculé est utilisé dans un affichage.
Implémentation
public function get compareFunction():Function
public function set compareFunction(value:Function):void
descending | propriété |
descending:Boolean
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Détermine si ce champ doit être trié dans l’ordre décroissant.
La valeur par défaut est false
(ordre croissant).
Cette propriété peut être utilisée comme source de la liaison de données. Lorsque cette propriété est modifiée, elle distribue l’événement descendingChanged
.
Implémentation
public function get descending():Boolean
public function set descending(value:Boolean):void
name | propriété |
name:String
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Nom du champ à trier.
La valeur par défaut est null.
Cette propriété peut être utilisée comme source de la liaison de données. Lorsque cette propriété est modifiée, elle distribue l’événement nameChanged
.
Implémentation
public function get name():String
public function set name(value:String):void
numeric | propriété |
numeric:Object
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Force le comparateur à utiliser une comparaison numérique si le champ trié contient des valeurs numériques (number/int/uint
) ou des représentations de chaîne de valeurs numériques.
Cette propriété est utilisée par la classe SortField
si aucune fonction de comparaison personnalisée n’est fournie.
Si la valeur de cette propriété est true
, la fonction de comparaison numérique intégrée est utilisée. Chacun des éléments de données est projeté vers une fonction Number()
avant la comparaison.
Si la valeur de cette propriété est false
, la fonction de comparaison de chaînes intégrée est utilisée. Chacun des éléments de données est projeté vers une fonction String()
avant la comparaison.
Si la valeur de cette propriété est null
, le premier élément de données est introspecté afin de déterminer s’il s’agit d’un nombre ou d’une chaîne. Le tri est réalisé en fonction de cette introspection.
La valeur par défaut est null.
Cette propriété peut être utilisée comme source de la liaison de données. Lorsque cette propriété est modifiée, elle distribue l’événement numericChanged
.
Implémentation
public function get numeric():Object
public function set numeric(value:Object):void
usingCustomCompareFunction | propriété |
usingCustomCompareFunction:Boolean
[lecture seule] Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
La valeur est true si cet objet ISortField
utilise une fonction de comparaison personnalisée.
Implémentation
public function get usingCustomCompareFunction():Boolean
SortField | () | Constructeur |
public function SortField(name:String = null, descending:Boolean = false, numeric:Object = null)
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Constructeur.
Paramètresname:String (default = null ) — Nom de la propriété utilisée par ce champ dans le cadre de la comparaison. Si l’objet est de type simple, transmettez la valeur null .
| |
descending:Boolean (default = false ) — Indique au comparateur si les éléments doivent être classés dans l’ordre décroissant.
| |
numeric:Object (default = null ) — Indique au comparateur si les éléments de tri doivent être comparés en tant que nombres et non selon l’ordre alphabétique.
|
initializeDefaultCompareFunction | () | méthode |
public function initializeDefaultCompareFunction(obj:Object):void
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Fonction d’assistance appelée par la classe Sort
pour définir la fonction de comparaison par défaut et réaliser une comparaison en fonction de l’un de ces trois éléments : si une fonction de comparaison personnalisée a été définie ou non, le type de données du champ spécifié ou la valeur de la propriété numeric. Si la propriété numeric
a la valeur true, une comparaison numérique est effectuée lors du tri.
Paramètres
obj:Object — Objet qui contient les données. Si le nom du champ a été défini avec la propriété name, le nom est utilisé pour accéder à la valeur de données à partir de cet objet. Dans tous les autres cas, l’objet lui-même est utilisé en tant que valeur de données.
|
reverse | () | méthode |
public function reverse():void
Version du langage: | ActionScript 3.0 |
Version du produit: | Flex 4.5 |
Versions du moteur d’exécution: | Flash Player 10.1, AIR 2.5 |
Inverse les critères de ce champ de tri. Si le champ était trié dans l’ordre décroissant, par exemple, il est trié dans l’ordre croissant.
Remarque : une interface ICollectionView
n’est pas automatiquement mise à jour lorsque les objets ISortField
sont modifiés. Appelez sa méthode refresh()
pour actualiser la vue.
<?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, 09:30 AM Z