2010-08-16 1 views
0

Puis-je appeler une fonction lors de la construction d'un tableau dans Flex 3? MyArray est le résultat d'un appel à distance à la base de données. Je prépare ensuite le tableau à utiliser dans un DataGrid. Je veux aussi appeler une fonction qui fournit une note. Malheureusement, ma fonction semble être appelée une seule fois. Est-il possible d'appeler une fonction lorsque vous construisez un tableau? S'il vous plaît voir le "Grade:" bit. Quel est le problème? Comment puis-je résoudre ce problème?Est-il possible d'appeler une fonction lors de la construction d'un tableau?

Merci!

-Laxmidi

Répondre

0

Vous avez dit que votre fonction a été appelée une seule fois. Pourtant, dans votre code, vous ne l'appelez explicitement qu'une seule fois. J'ai du mal à voir votre problème. En ActionScript, vous pouvez créer un tableau d'objets, où les valeurs d'attribut peuvent provenir des valeurs de retour des fonctions.

EDIT Changer votre code pour le faire:

public function gridBuilder(myArray:Array):void { 
    var i:uint; 
    var dGArray:Array = []; 

    for (i=0; i<myArray.length; i++) { 
     dgArray.push({Name: myArray[i].name, 
         Type: 'A:', 
         Score: myArray[i].score, 
         Rank: myArray[i].rank, 
         Grade:myFunction(myArray[i].rank,myArray[i].max_rank)}); 
     dgArray.push({Name: myArray[i].name, 
         Type: 'B:', 
         Score: myArray[i].score, 
         Rank: myArray[i].rank}); 
    } 
    dgAC = new ArrayCollection(dGArray); 
} 

Le problème avec votre code d'origine est que vous avez gardé la réinitialisation de votre dGArray à chaque itération.

+0

Salut clownbaby, Merci pour le message! J'essaie toujours de comprendre comment je me trompe. La fonction myFunction utilise une valeur de retour. Le tableau myArray a trois noms. Mon but était d'avoir le myFunction appelé 3 fois - une fois pour chaque i. Pourquoi la fonction myFunction n'est-elle pas appelée plus d'une fois? Merci d'avoir clarifié qu'il est possible de créer un tableau de valeurs renvoyées par des fonctions. Encore merci. – Laxmidi

+0

Merci, clownbaby. Ce problème me rendait fou. Maintenant, je comprends ce que je fais mal. Je vous remercie! – Laxmidi

Questions connexes