Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2011, 12h43   #1
Nouveau Membre du Club
 
Femme
Inscription : mai 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2010
Messages : 91
Points : 30
Points : 30
Par défaut récupérer un attribut dans ArrayCollection d'un type complexe

Bonjours,
Je suis encore en train de me battre avec mes ArrayCollection d'un type complexe.
J'ai une ArrayCollection d'un type appel sous la forme :
Code :
1
2
3
4
maListeAppel=new ArrayCollection([
			 {appel:appel1},
			 {appel:appel2},
			 {appel:appel3}]);
dont les variables appel sont des classes composées de plusieurs attributs.
J'aimerais pouvoir récupérer un attribut de la classe appel, mais je n'y arrive pas lorsque je fais :
Code :
1
2
var itemAppel:Appel =maListeAppel.getItemAt(i).appel;
				var statut:String =itemAppel.getStatutAppel();
Où getStatutAppel est une fonction de la classe appel. Cela ne me renvoi rien du tout et fait même planter mon programme, plus rien ne s'affiche!
Je ne vois pas comment récupérer l'attribut statut.
Merci
zyanya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h13   #2
Nouveau Membre du Club
 
Femme
Inscription : mai 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2010
Messages : 91
Points : 30
Points : 30
j'ai un peu avancé le problème mais ça ne marche toujours pas. J'ai fais la fonction suivante
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public function getListeDesAppelsEnAttente():ArrayCollection{
				var listeAppelAttente:ArrayCollection = new ArrayCollection();
				var i:int;
				i = 0;
						for(i; i <=listeDesAppels.length-1; i++){
							var appelEnAttente:Appel=listeDesAppels.getItemAt(i).appel;
							if(appelEnAttente.getStatutAppel()=="en attente"){
								var o:Object = {appel: appelEnAttente}; 
								listeAppelAttente.addItemAt(o,0);
							}
						} 
 
				return listeAppelAttente;
			}
le problème c'est lorsque je fais à l'intérieur de la fonction :
Code :
Alert.show(listeAppelAttente.getItemAt(0).appel.getQualification());
sa m'affiche quelque chose mais si je récupére l'arraycollection que renvoi la fonction et que je refais la même chose j'ai plus rien!! Je n'y comprend plus rien!!!
zyanya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 13h54   #3
Nouveau Membre du Club
 
Femme
Inscription : mai 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2010
Messages : 91
Points : 30
Points : 30
J'ai finalement réussi à trouver voilà ma function pour ceux que sa intéresse :
Code :
1
2
3
4
5
6
7
8
9
10
public function getListeDesAppelsEnAttente():ArrayCollection{
				var listeDesAppelsAttente:ArrayCollection  = new ArrayCollection();
				var j:int;
				for(j=0; j<= listeDesAppels.length-1; j++){
					if(listeDesAppels.getItemAt(j).appel.getStatutAppel()=="en attente"){
						listeDesAppelsAttente.addItem(listeDesAppels.getItemAt(j,0));
					}					
				}
				return listeDesAppelsAttente;
			}
zyanya est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 14h35   #4
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 756
Points : 5 756
Merci d'avoir posté votre réponse.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 15h19   #5
Membre confirmé
 
Avatar de samy2525
 
Inscription : janvier 2008
Messages : 249
Détails du profil
Informations personnelles :
Localisation : France, Hauts de Seine (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 249
Points : 266
Points : 266
Bonjour, simple curiosité tes objets appel&, appel2, appel3 sont différents ou c'est les mêmes objets dans le sens ou ils contiennent les mêmes attributs
__________________
http://www.m-ataf.com (En cours de construction)
samy2525 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 15h35   #6
Nouveau Membre du Club
 
Femme
Inscription : mai 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2010
Messages : 91
Points : 30
Points : 30
mes objets appel1, appel2 et appel3 ont plusieurs attribut, par exemple un attribut numéro d'appel qui a une valeur différente pour chacun d'entre eux. Sa répond à ta question?
zyanya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 15h41   #7
Membre confirmé
 
Avatar de samy2525
 
Inscription : janvier 2008
Messages : 249
Détails du profil
Informations personnelles :
Localisation : France, Hauts de Seine (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 249
Points : 266
Points : 266
En faite, je voulais te parler plus c'est un probleme de modélisation qui va te faire grave facilité la vie.

quand tu dis ils ont des attributs différents ça veut dire qu'ils ont aucun point de ressemblance et que veut dire ils n'ont pas la même signification / appellation ....

Pour moi appel 1 2 3 sont pareils et ils aux moins des attributs en commun comme exemple statut du coup tu peux faire une classe Appel qui contient tous les attributs en commun et la faire hériter.

ou bien je n'ai pas trop compris ta modélisation

Samy
__________________
http://www.m-ataf.com (En cours de construction)
samy2525 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 16h08   #8
Nouveau Membre du Club
 
Femme
Inscription : mai 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2010
Messages : 91
Points : 30
Points : 30
J'ai déjà fait une classe Appel qui regroupe les différents attributs de mes appel1, 2 et 3.
Enfaite je fais un logiciel avec une "base de données" sous forme d'ArrayCollection. Donc si tu veux mes variables appel1, 2 et 3 on été instancié avec un constructeur de la classe appel.
zyanya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 16h13   #9
Membre confirmé
 
Avatar de samy2525
 
Inscription : janvier 2008
Messages : 249
Détails du profil
Informations personnelles :
Localisation : France, Hauts de Seine (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 249
Points : 266
Points : 266
Désolé pas bien compris ton code !!! après ton dernier poste et avec la doc Array d'adobe je vois un peu claire.

ok, en faite, tu pouvais faire quelque chose comme ça

Code :
1
2
3
4
var c : ArrayCollection = new ArrayCollection();
c.addItem(new Appel(argument ));
c.addItem(new Appel(argument ));
c.addItem(new Appel(argument ));
le parcours tu peux faire comme ça:
Code :
1
2
3
4
5
6
7
8
 
var tmpAppel:Appel;
for each (tmpAppel in c)
{
    if(tmpAppel && tmpAppel.getstatut==(" ")){
        tu fais ton traitement normal
    }
}
voila voila j'espère t'avoir donner un peu plus d'info

Bon courage

Samy
__________________
http://www.m-ataf.com (En cours de construction)
samy2525 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 16h58   #10
Nouveau Membre du Club
 
Femme
Inscription : mai 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2010
Messages : 91
Points : 30
Points : 30
enfaite non pas tout à fait, j'ai du mal expliquer c'est comme ça :
Code :
1
2
3
appel1 = new Appel(dateDuJour,"Urgent","18h30");
maListeAppel=new ArrayCollection([
			 {appel:appel1} ...
Pareil pour 2 et 3 sauf qu'ils sont instancié avec des valeurs différentes.
Tu as compris?
zyanya est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 21h13   #11
Membre confirmé
 
Avatar de samy2525
 
Inscription : janvier 2008
Messages : 249
Détails du profil
Informations personnelles :
Localisation : France, Hauts de Seine (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 249
Points : 266
Points : 266
j'ai mis à jour le poste précédent

Bon courage
__________________
http://www.m-ataf.com (En cours de construction)
samy2525 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 08h48   #12
Nouveau Membre du Club
 
Femme
Inscription : mai 2010
Messages : 91
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : mai 2010
Messages : 91
Points : 30
Points : 30
merci je vais essayé de faire ce que tu m'as dit ça fait peut être plus propre.
zyanya est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h29.


 
 
 
 
Partenaires

Hébergement Web