BackGround: J'ai une grille de données avancée. Le fournisseur de données pour cet ADG est un ArrayCollection. Il y a une collection de regroupement sur un champ ID de cette AC.Collection de regroupement séparant le chiffre 5 de la chaîne "5"
Exemple d'un articles couple dans ce AC le nom var AC est "arcTemplates":
(mx.collections::ArrayCollection)#0
filterFunction = (null)
length = 69
list = (mx.collections::ArrayList)#1
length = 69
source = (Array)#2
[0] (Object)#3
abbreviation = "sore-throat"
insertDate = "11/16/2009"
name = "sore throat"
templateID = 234
templateType = "New Problem"
templateTypeID = 1
[32] (Object)#35
abbreviation = 123
insertDate = "03/08/2010"
name = 123
templateID = 297
templateType = "New Problem"
templateTypeID = 1
[55] (Object)#58
abbreviation = 1234
insertDate = "11/16/2009"
name = 1234
templateID = 227
templateType = "Exam"
templateTypeID = 5
[56] (Object)#59
abbreviation = "breast only"
insertDate = "03/15/2005"
name = "breast exam"
templateID = 195
templateType = "Exam"
templateTypeID = 5
Exemple code Flex menant au Groupement:
<mx:AdvancedDataGrid displayItemsExpanded="true" id="gridTemplates">
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{arcTemplates}">
<mx:Grouping >
<mx:GroupingField name="templateTypeID" compareFunction="gcSort">
GC fonction de tri:
public function gcSort(a:Object, b:Object):int{
return ObjectUtil.stringCompare(String(a.templateTypeID + a.name).toLowerCase(),
String(b.templateTypeID + b.name).toLowerCase());
}
Problème: Dans mon exemple AC il y a e quelques éléments, les éléments 0, 32 et 56 correctement trier et grouper à leur templateTypeID, mais l'article 55 fait quelque chose de bizarre. Il semble trier/grouper sur le numérique 5 au lieu de la chaîne "5". Obtient étranger. Si je change la propriété de nom pour contenir le texte (ainsi 1234x) alors trie/groupe correctement à la chaîne "5"
Question: Que se passe-t-il ici et comment le réparer?
Merci Patrick, testé votre solution et il fonctionne très bien. Était une erreur de débutant :-(mais alors c'était un code très tôt pour moi.Je pense que cela m'a aussi jeté que l'article 32 groupait/triage très bien, ce qui est plutôt confuse, mais je comprends maintenant pourquoi. – invertedSpear