<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.
]]>Le tri est généralement défini pour des collections d’éléments complexes, c’est-à-dire pour des collections dans lesquelles le tri est réalisé sur une ou plusieurs propriétés des objets de la collection. L’exemple suivant illustre cette utilisation :
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();
Dans certaines situations, la collection contient des éléments simples de type
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();
Les implémentations Flex de l’interface
La comparaison par défaut fournie par la classe
<fx:Declarations> <s:SortField id="sf" /> </fx:Declarations>
<fx:Declarations> <s:SortField id="sf_SimplifiedChinese" locale="zh-Hans-CN" /> </fx:Declarations>
Crée un nouvel objet Sort dont aucun champ n’est défini et qui ne contient aucun comparateur personnalisé.
<s:SpinnerList> <s:dataProvider> <s:NumericDataProvider minimum="0" maximum="23" stepSize="1"/> </s:dataProvider> </s:SpinnerList>
L’avantage de cette classe est que les valeurs d’élément sont calculées à la demande au lieu d’être stockées.
Si, par exemple,
<s:SortField>
tag has the following attributes:
<s:SortField Properties compareFunction="Internal compare function" descending="false" name="null" numeric="null" />]]>
Dans certaines situations, la collection contient des éléments simples de typevar 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;
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
<fx:Declarations> <s:SortField id="sf" /> </fx:Declarations>
<fx:Declarations> <s:SortField id="sf_SimplifiedChinese" locale="zh-Hans-CN" /> </fx:Declarations>
La fonction de comparaison doit présenter la signature suivante :
Cette fonction doit retourner les valeurs suivantes :
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