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 ComboBox sans ArrayCollection


Sujet :

Flex

  1. #1
    Membre confirmé Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Par défaut Afficher ComboBox sans ArrayCollection
    Ayant cherché un moyen d'afficher des données depuis un fichier SQLite vers un ComboBox, je n'ai pas trouvé de solution dans la documentation (de FlexBuilder) ... On ne nous dit pas tout !

    Comment faire sans ArrayCollection qui serait une solution simple, mais en exploitant des données récupérées sous le type SQLResult ?

    J'ai bien tenté de transformer mon résultat en Array, mais je n'ai pas trouvé la bonne méthode pour l'utiliser avec le ComboBox.
    Voici mon script, qui fonctionne bien avec des DataGrid
    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
     
    // Fonctions BDD de base :
    	private function init():void{ // Ouverture de la cnx SQL
    		dbCnx = new SQLConnection();
    		dbRequ = new SQLStatement();
    		var dbFile:File = new File("file:///C:/test.db"); //Lien du fichier de base de donnée
    		dbCnx.open(dbFile); //ouverture de la base de donnée
    	}
     
     
    	// Fonctions BDD de selection :
    	private function selection(requeteSQL:String,monObjUI:Object,monTypeObjUI:String):void{
    		dbRequ.sqlConnection = dbCnx; //Configuration de l'instance de requête avec la base
    		dbRequ.text= requeteSQL;
    		dbRequ.execute();
    		var result:SQLResult = dbRequ.getResult(); //On récupère le résultat dans un SQLResult
    		if (monTypeObjUI=="DataGrid") {
    			monObjUI.dataProvider = result.data; //Affichage dans le dataGrid
    		}
    		if (monTypeObjUI=="ComboBox") {
    			var TabResult:Array= new Array;
    			for (var champs:String in result.data ){
    				TabResult.push(champs); // On convertit SQLResult en Array pour ComboBox
    			}
    			monObjUI.dataProvider= champs;
    		}
    	}

  2. #2
    Membre émérite
    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
    Par défaut
    Un ComboBox affiche par défaut la propriété "label" d'un dataProvider.
    Si ta requête ne renvoie pas de colonne nommée "label" rien n'est affiché.

    Tu dois soit utiliser un alias pour la colonne à afficher (ex: SELECT nom AS label), soit indiquer dans la propriété labelField de ta ComboBox le nom de la colonne à afficher (ex: labelField="nom").

    On le dit pas... mais c'est marqué dans la doc :

    By default, the control uses a property named label on each Array object and displays it.
    However, if the dataProvider items do not contain a label property, you can set the labelField property to use a different property.

  3. #3
    Membre confirmé Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Par défaut
    Ok, c'est vraiment très simple comme solution, y'a pas de doutes Flex est un langage simplifiant la vie des développeurs... même si la technique est un peu difficile à trouver dans la doc (mes cours d'anglais sont un peu loin).

    Merci beaucoup !

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

Discussions similaires

  1. Combobox sans doublons
    Par arnold95 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/03/2016, 14h30
  2. Afficher articles sans mouvement
    Par soso78 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/04/2007, 11h25
  3. Un popup menu qui ne s'affiche pas (sans parent)
    Par Spartan03 dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 14/03/2007, 19h28
  4. afficher Image sans bibliotheque
    Par amadoulamine1 dans le forum C
    Réponses: 13
    Dernier message: 24/02/2007, 20h10
  5. [Debutant] Afficher formulaire sans access
    Par IDE dans le forum Access
    Réponses: 18
    Dernier message: 07/09/2006, 19h27

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