2009-10-11 7 views
0

Je crée une Datagrid dans AS3 et j'ajoute une fonction de tri à une colonne. Cependant, cette fonction de tri ne sera jamais appelée. Des idées?Fonction de tri non appelée dans Flex Datagrid

  dg_gruppenUebersicht = new NestedDataGrid; 
      dg_gruppenUebersicht.sortableColumns = true; 
      dg_gruppenUebersicht.dataProvider = arrCol_gruppenTnAkt; 
      dg_gruppenUebersicht.columns = new Array; 
      var cols : Array = dg_gruppenUebersicht.columns; 

      //initalize datagrid 
      var dgc : DataGridColumn = new DataGridColumn("Jahrgang"); 
      dgc.dataField = "TnJahrgang"; 
      dgc.labelFunction = MyFormatter.lblfunc_alter2jahrgang; 
      dgc.sortable = true; 
      dgc.sortCompareFunction = compareFunc_tnJahrgang; 
      dgc.headerText = "Alter"; 
      dgc.headerRenderer = new ClassFactory(at.moschitz.VDGHeader); 
      dgc.width = 20; 
      cols.push(dgc); 

      dg_gruppenUebersicht.columns = cols; 

Étrangement, la fonction label est appelée.

Merci Martin

Répondre

0

Essayez d'appeler arrCol_gruppenTnAkt.refresh(); à la fin.

Y a-t-il d'autres colonnes dans la grille de données? Si oui, avez-vous cliqué sur la colonne dgc pour que la grille soit triée selon cette colonne?

+0

Oui, il y a d'autres colonnes ... et quelles que soient celles sur lesquelles je clique, le tri ne fonctionne pas comme prévu. en mode de débogage, la fonction de tri personnalisée n'est jamais appelée ... – martin

+0

arrCol_gruppenTnAkt.refresh(); n'a pas fonctionné? – Amarghosh

+0

non, cela n'a pas fonctionné. Peut-être que je dois ajouter un gestionnaire de clic sur l'autre en-tête et faire une actualisation manuelle? Mais c'est bizarre, ça devrait prendre la fonction de tri, comme quand vous l'ajoutez en MXML. – martin