2009-10-12 6 views
0

Je pense que cela devrait être une chose simple, mais ici, je pose la question après une bonne dose de frustration.Flex + Cairngrom + getter setter sur un VO

Ok J'ai un projet que je fais dans Cairngorm dans Flex 3. Dans l'un des composants, j'ai une liste de tuiles liée à une VO dans un localisateur de modèle. Je veux exécuter une fonction une fois que VO contient des données qui ajoute des sommes à une certaine valeur dans cette VO. J'étais à la Flex Jam à Ann Arbor et je pensais que James l'a fait avec des setters & avec son exemple Cairngorm.

Est-ce une chose simple? Quelqu'un at-il un exemple de comment faire cela? Y a-t-il un moyen plus facile?

Merci d'avance pour toute aide ou conseil.

Répondre

0

Il semble que ce qu'il a fait était d'ajouter un getter/setter pour la propriété de collection dans la VO qui recalcule cette valeur additionnée basée sur le contenu de la nouvelle collection, c.-à-d. difficile.

private _yourCollection:ArrayCollection; 

public function set yourCollection(value:ArrayCollection):void 
{ 
    if (_yourCollection != value) 
    { 
     _yourCollection = value; 
     // calculate new sum 
     var sum:Number = 0; 
     for each (var obj:SomeVOType in _yourCollection) 
      sum += obj.valueToSum; 
     sumProperty = sum; 
    } 
} 
Questions connexes