2008-12-09 11 views
1

J'utilise une grille de données avancée qui utilise un rendu d'élément personnalisé pour l'en-tête de colonne et maintenant le tri ne fonctionne pas. Si je supprime le moteur de rendu personnalisé, cela fonctionne correctement, mais j'en ai besoin pour travailler avec le moteur de rendu. Est-ce que quelqu'un sait comment faire ça? Je suis nouveau à Flex et ActionScript.Flex - comment trier une colonne de grille de données qui utilise un rendu d'élément dans l'en-tête?

Répondre

1

Vous devez mettre en œuvre une sortCompareFunction pour la colonne DataGrid:

Par exemple:

<mx:DataGridColumn headerText="Foo" dataField="bar" sortCompareFunction="compareTypes"> 

Lets juste faire semblant que ce DataGridColumn comme un élément en ligne renderer ...

Et puis la La fonction est définie comme suit:

public static function compareTypes(typeOne:Object, typeTwo:Object):int 
{ 
    return ObjectUtil.stringCompare(String(typeOne.foo), String(typeTwo.foo)); 
} 
+0

Pour un DataGrid Spark, la réponse est al le plus pareil cependant le sortCompareFunction prend trois paramètres. Le troisième est l'objet GridColumn. Il est documenté ici: http://help.adobe.com/fr_FR/flex/using/WS8b1c39bd7e9fc3647f39ab2512d530e9965-8000.html – RIAGrande

Questions connexes