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

Flex Discussion :

Afficher une donnée à modifier dans un combobox


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut Afficher une donnée à modifier dans un combobox
    Bonjour,
    Je suis entrain de créer une interface avec un datagrid et j'ai un formulaire détails pour la modification de la ligne sélectionnée. Dans ce formulaire il y a un combobox dans lequel je récupère des données provenant de ma BD.
    Je voudrais qu'en sélectionnant la ligne dans le grid, l'index du combobox soit placé sur celui de la donnée sélectionnée:
    Voici mon code:
    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
     
     
    ...
    protected function brCb_creationCompleteHandler(event:FlexEvent):void
    			{
    				if(activite.idbranche==null){
    					brCb.selectedIndex=0;
    				}  
    				else{
    					brCb.selectedItem=activite.libelbranche;
    				} 
    			}
    ...
    <s:ComboBox id="brCb" creationComplete="brCb_creationCompleteHandler(event)" close="brCb_closeHandler(event)" dataProvider="{getBranchesResult.lastResult}" labelField="libelbranche"
    					 selectedIndex="0"	 color.ActivitesUpdate="#000000" color.ActivitesAdd="#000000"/>
    mais ça ne marche pas
    Merci d'avance!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Par défaut
    Salut !
    Quel est le type des objets contenus dans ton dataprovider ?
    Un type complexe ? Une String ?

    Ta ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    brCb.selectedItem=activite.libelbranche;
    demande à ta combo brCb de sélectionner l'objet activite.libelbranche. Or, même si tu as des objest identiques dans ton dataprovider et dans activite.libelbranche, ce ne sont pas les même objets au sens référence. Ce sont deux références distinctes vers deux objets distincts (même s'il sont identiques dans leur contenu).

    Bref, pour ma part j'ai overridé la ComboBox de base de manière à pouvoir définir un selectedValue en plus des selectedItem et selectedIndex.

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut
    Dans mon dataProvider, je n'ai que des types String. Mais comment as-tu procedé pour definir un selected value?

  4. #4
    Membre expérimenté Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut [FLEX]
    Bonjour,
    J'avoue que j'ai besoin d'un peu plus d'information sur ton problème

    1 - l'index de la comboBox change par rapport à quoi ?? (selectedItem du dataGrid)

    2 - Mettre un code ds le creation Complete signifie que ce code s'exécute une et une seule fois quand Flex termine la création du composant et il ne s'exécutera plus donc si tu veux que ton index change j'aurai mis un event Click, Change, .....

    Bon courage

    Samy

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 124
    Par défaut
    Dans mon dataProvider, je n'ai que des types String.
    Ok alors si tu n'as que des String ça devrait marcher à peu près tout seul.

    Tu dois donc pouvoir binder ta ComboBox sur la valeur sélectionnée dans la datagrid.
    Un truc genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <mx:ComboBox dataProvider="{tondataprovider}" 
                   selectedItem="{taDataGrid.SelectedItem.laProprieteQuiVaBien}"/>
    Mais comment as-tu procedé pour definir un selected value?
    En overridant ComoBox et en ajoutant deux propriétés (et en codant les traitements qui vont bien évidemment...y a pas de magie)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private var _valueField:String = "value";
    private var _selectedValue:Object;
    qui me permettent de gérer un champ perso pour la préselction d'un élément du dataprovider (ainsi que pour la récupération de la valeur saisie même si en l'occurrence c'est moins important car facile à récupérer via le selectedItem).
    Je trouve étrange d'avoir du faire cela mais je ne voyais pas comment faire autrement pour présélectionner un item (objet complexe) dans une liste alors que je n'en connais que la valeur de l'attribut id par exemple).

    Charles.

  6. #6
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 48
    Par défaut
    Merci, c'est bon mais mon probleme maintenant, c'est que quand je choisis un élément du grid pour le modifier dans le formulaire detail, tant que je ne fais pas un choix dans le combo, la modification ne passe pas. Je veux dire que tant que je ne modifie pas la valeur du combo(même si c'est pour faire le même choix) le update ne passe pas. Si vous avez une idée...

    Merci encore

Discussions similaires

  1. [XL-2010] Afficher des données cellules dans une textbox et pouvoir les modifier ensuite
    Par chiken samada dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/02/2015, 11h11
  2. Réponses: 2
    Dernier message: 30/03/2011, 15h33
  3. Réponses: 3
    Dernier message: 20/07/2009, 11h15
  4. Afficher une info bulle dans un ComboBox
    Par apolo4400 dans le forum Débuter
    Réponses: 1
    Dernier message: 20/05/2008, 11h59
  5. [MySQL] Afficher une image stockée dans une base de données
    Par LuckySoft dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/04/2006, 12h57

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