De la documentation:Comment utiliser SortField pour trier mes données numériquement dans Flex/ActionScript?
SortField() constructeur
public function SortField(name:String = null, caseInsensitive:Boolean = false, descending:Boolean = false, numeric:Object = null)
Je suis confus sur la dernière partie - numeric:Object = null
.
Voici ma fonction:
private function createXMLDataProvider():XMLListCollection{
var sort:Sort = new Sort();
sort.fields = [new SortField("@sortorder",true,false,true), new SortField("@label")];
var searchTypesCollection:XMLListCollection =
new XMLListCollection(getAssociations(_appData.searchTypes, "category", searchType));
searchTypesCollection.sort = sort;
searchTypesCollection.refresh();
return searchTypesCollection;
}
Sur cette ligne:
sort.fields = [new SortField("@sortorder",true,false,true), new SortField("@label")];
Le premier est un nombre SortField mais est comparé comme il est un texte. Que devrais-je mettre là où cela est vrai?
également à partir de la documentation:
Indique que si le champ trié contient des valeurs numériques (nombre/int/uint) ou des représentations de chaîne de valeurs numériques, le comparateur à utiliser une comparaison numérique. Si cette propriété est fausse, les champs avec des représentations de chaîne de nombres sont triés en utilisant la comparaison de chaînes, donc 100 précède 99, car "1" est une valeur de chaîne inférieure à "9". Si cette propriété est null, le premier élément de données est introspecté pour voir s'il s'agit d'un nombre ou d'une chaîne et le tri se déroule en fonction de cette introspection.
La valeur par défaut est false.