IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Problème de combobox et set selectedindex


Sujet :

Flash

  1. #1
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 137
    Points : 70
    Points
    70
    Par défaut Problème de combobox et set selectedindex
    Voici mon code qui ne fonctionne pas :
    frame placée à la racine de la scène
    combobox placée dans un clip appelé "maillots"
    nom de la combobox : selectcolskin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maillots.selectcolskin.selectedIndex = 0;
    Quand l'index sélectionné est 1, après la ligne de code ci-dessus, c'est toujours = 1 !!!
    J'ai aussi essayé en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maillots.selectcolskin.selectedIndex(0)
    mais pas mieux !
    Des idées svp ?
    Merci beaucoup

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    On ne peut pas dire grand chose là... il faudrait en montrer un peu plus !
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  3. #3
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 137
    Points : 70
    Points
    70
    Par défaut
    Certes, merci pour ton soutien
    Alors j'ai un peu avancé depuis, mais ça plante pareil et c'est vraiment très bizarre.
    Je vais réexpliqué parce que c'est pas forcément très clair, je te l'accorde !

    J'ai 2 combobox "selectcolskin" et "selectcoupe" dans un clip appelé "maillots", situé à la racine de la séquence.
    Dans une frame à la racine de la séquence, j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    select_coupe = new Object();
    select_coupe.change = function(evt)
    {
       ... du code ...
     
       maillots.selectcolskin.selectedIndex = 0;
       trace("col = "+maillots.selectcolskin.selectedIndex);
     
       ... du code ...
    }
    maillots.selectcoupe.addEventListener("change", select_coupe);
    Je passe bien au bon endroit puisque ça m'affiche le trace.
    Et pour tester, j'ai rajouté un bouton, également à la racine de la séquence, avec ce bout de code, au même endroit que le précédent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    btnTest.onRelease = function()
    {
       maillots.selectcolskin.selectedIndex = 0;
       trace("col = "+maillots.selectcolskin.selectedIndex);
    };
    On est d'accord que les codes sont identiques !
    Et bien, le code du bouton fonctionne (la valeur passe bien à 0) mais pas l'autre !!!!!

    J'espère que c'est un peu plus clair :/
    Merci pour le coup de main

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Points : 894
    Points
    894
    Par défaut
    Désolé mais je vois pas... Dans la mesure où c'est du Flash et pas du Flex tu aurais peut-être plus de chance sur le forum Flash ...

    Tu n'as pas d'autres événements, sur le change de selectcolskin par exemple ?
    jyl@xx
    "Simplicity does not precede complexity, but follows it." Alan Perlis

  5. #5
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 137
    Points : 70
    Points
    70
    Par défaut
    Pour répondre à ta question, je n'ai que l'évènement "change" sur cette combobox.
    Mais j'ai même essayé plus fort.
    J'ai refais une autre combobox "selecttest" (avec des valeurs bidons) qui ne fait rien d'autre que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select_test = new Object();
    select_test.change = function(evt)
    {
       maillots.selectcolskin.selectedIndex = 0;
       trace("col = "+maillots.selectcolskin.selectedIndex);
    }
    maillots.selecttest.addEventListener("change", select_test);
    Et ça marche dans ce cas là !!!
    Je dois certainement avoir quelque chose de louche dans mon code mais je ne vois pas ...
    Je mets le code complet concernant cette combobox au cas où tu aurais 5min à perdre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    select_coupe = new Object();
    select_coupe.change = function(evt)
    {
    	if(_global.col != "skin" && _global.col != "expert")
    	{
    		maillots.selectcolskin.selectedIndex = 0;
    		trace("col = "+maillots.selectcolskin.selectedIndex);
    	}
     
    	// on cache toutes les couleurs du maillot en cours
    	mannequin1[_global.modele + "_" + _global.coupe].zone1._visible = false;
    	mannequin1[_global.modele + "_" + _global.coupe].zone2._visible = false;
    	mannequin1[_global.modele + "_" + _global.coupe].zone3._visible = false;
    	mannequin1[_global.modele + "_" + _global.coupe].zone4._visible = false;
     
    	// on cache toutes les couleurs du short en cours
    	mannequin1[_global.short + "_" + _global.coupe].zone1._visible = false;
    	mannequin1[_global.short + "_" + _global.coupe].zone2._visible = false;
    	mannequin1[_global.short + "_" + _global.coupe].zone3._visible = false;
    	mannequin1[_global.short + "_" + _global.coupe].zone4._visible = false;
     
    	// on cache toutes les couleurs des chaussettes en cours
    	mannequin1[_global.chaussettes + "_" + _global.coupe].zone1._visible = false;
    	mannequin1[_global.chaussettes + "_" + _global.coupe].zone2._visible = false;
    	mannequin1[_global.chaussettes + "_" + _global.coupe].zone3._visible = false;
     
    	_global.coupe = evt.target.getValue();
    	// si c'est une coupe skin ou skinNG
    	if(_global.coupe == "skin" || _global.coupe == "skinNG")
    	{
    		if(_global.col != "skin" && _global.col != "expert")
    		{
    			_global.col = "skin";
    			/************************************************/
    			/* CODE QUI NE FONCTIONNE PAS !!! */
    			maillots.selectcolskin.selectedIndex = 0;
    			/************************************************/
    		}
     
    		// on cache la liste de cols normaux et l'étiquette boomerang, et on affiche la liste de cols skin
    		maillots.selectcol.enabled = false;
    		maillots.selectcolskin.enabled = true;
    		maillots.selectcolboomerang.enabled = false;
     
    		maillots.btn_coul_col_2._visible = true;
    		maillots.couleur_col_2._visible = true;
    	}
    	// si c'est une coupe boomerang
    	else if(_global.coupe == "boomerang")
    	{
    		_global.col = "boomerang";
     
    		// on cache la liste de cols normaux et de cols skin, et on affiche l'étiquette boomerang
    		maillots.selectcol.enabled = false;
    		maillots.selectcolskin.enabled = false;
    		maillots.selectcolboomerang.enabled = true;
     
    		maillots.btn_coul_col_2._visible = false;
    		maillots.couleur_col_2._visible = false;
     
    		if(_global.manche == "longue")
    		{
    			maillots.mc_couleurs_bc._visible = true;
    			mannequin1.bc_couleurs._visible = true;
    			// on fait pareil pour les bords côte
    			var couperagmon = _global.coupe + _global.ragmon;
    			// on set le mask
    			mannequin1.bc_couleurs.setMask(mannequin1["mask_bc_" + couperagmon]);
    		}
    		else
    		{
    			maillots.mc_couleurs_bc._visible = false;
    			mannequin1.bc_couleurs._visible = false;
    			mannequin1.bc_couleurs.setMask(NULL);
    		}
    	}
    	// si c'est une coupe tight ou loose
    	else
    	{
    		if(_global.col != "classic" && _global.coupe != "mao" && _global.coupe != "elite")
    		{
    			_global.col = "classic";
    			maillots.selectcol.selectedIndex = 0;
    		}
     
    		// on cache l'étiquette boomerang et la liste de cols skin, et on affiche la liste de cols normaux
    		maillots.selectcol.enabled = true;
    		maillots.selectcolskin.enabled = false;
    		maillots.selectcolboomerang.enabled = false;
     
    		if(_global.manche == "longue")
    		{
    			maillots.mc_couleurs_bc._visible = true;
    			mannequin1.bc_couleurs._visible = true;
    			// on fait pareil pour les bords côte
    			var couperagmon = _global.coupe + _global.ragmon;
    			// on set le mask
    			mannequin1.bc_couleurs.setMask(mannequin1["mask_bc_" + couperagmon]);
    		}
    		else
    		{
    			maillots.mc_couleurs_bc._visible = false;
    			mannequin1.bc_couleurs._visible = false;
    			mannequin1.bc_couleurs.setMask(NULL);
    		}
    	}
     
    	display (_global.col, _global.coupe, _global.ragmon, _global.manche);
    	choose_model(_global.modele);
    	choose_col(_global.col);
    	choose_short(_global.short);
    	choose_chaussettes(_global.chaussettes);
    }
    maillots.selectcoupe.addEventListener("change", select_coupe);
    Merci d'avoir pris du temps
    Bonne journée

    PS : j'avais pas fais gaffe que j'étais dans le forum Flex ... j'étais persuadé de poster dans Flash, j'ai du me planté de lien Désolé aux modos

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant Angular / Java J2EE
    Inscrit en
    Novembre 2008
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Consultant Angular / Java J2EE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 545
    Points : 875
    Points
    875
    Par défaut
    Pour appuyer jylaxx, le problème est tendu d'autant plus que tu es dans un forum Flex et que tu aurais plus de réponse dans un forum Flash

    Es-tu bien sûr que la trace affichée est celle qui provient de select_coupe.change = function(evt); ?

    (change peut-être le "col" pour être sûr que tu affiches ce qu'il faut au cas où on ne sait jamais)
    N'oubliez pas avant de poster :

  7. #7
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 137
    Points : 70
    Points
    70
    Par défaut
    Merci du conseil, je vais tester ça
    Merci à un modo de bien vouloir déplacer le topic
    A moins que je puisse le faire moi-même, mais je ne sais pas comment !

  8. #8
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 137
    Points : 70
    Points
    70
    Par défaut
    OK je viens de trouver (et c'était tout bête, comme souvent) :
    ma combobox était "enable=false" et je faisais le "selectedIndex" avant de faire "enable=true" ... honte sur moi !!!
    Désolé pour le dérangement et merci à jylaxx et Krazymins

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. combobox set selectedindex
    Par oniric dans le forum Flex
    Réponses: 2
    Dernier message: 12/09/2008, 11h28
  2. probléme de combobox
    Par benazerty dans le forum Access
    Réponses: 1
    Dernier message: 11/04/2006, 17h33
  3. [DEBUTANT - VBA] Problèmes de ComboBox
    Par _Maniak dans le forum Général VBA
    Réponses: 13
    Dernier message: 10/03/2006, 10h02
  4. Problème de ComboBox...
    Par lerouzes dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/01/2006, 18h14
  5. Problème affichage ComboBox et barre déroulante!
    Par ghan77 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/01/2006, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo