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 :

Donner un code aux éléments d'une List


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 Donner un code aux éléments d'une List
    J'ai un pb avec ce code, pourtant simple, mais qui ne me donne pas le résultat voulu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mx:Button x="329" y="103" label="Supprimer" id="button3_3" width="89" click="etatSupprCategories(Number(list3_1.selectedIndex))"/>
    En effet, j'aimerai inclure lors de ma construction de list une option/donnée numérique à mon élément de list, indépendante de l'index de l'option.
    En sachant que j'utilise SQLite comme fournisseur de données, donc je construit ma List avec un dataprovider qui est ravitaillé par une requête, qui rempli la List grace à l'attribut Label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dbRequ.text= "select NOM as label from CATEGORIES";
    dbRequ.execute();
    var result:SQLResult = dbRequ.getResult();
    List3_2.dataProvider= result.data;
    Mon objectif serait dans ce style, avec [??] comme élément récupérable au même titre que 'label', mais invisible à l'utilisateur de l'application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dbRequ.text= "select ID as [??],NOM as label from CATEGORIES";
    dbRequ.execute();
    var result:SQLResult = dbRequ.getResult();
    List3_2.dataProvider= result.data;

  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
    Soit tu rajoutes un champ id dans ta table CATEGORIES, soit tu construis un nouveau dataprovider à partir de ton SQLResult et en ajoutant un champ ID.

    (en fait je ne suis pas certain d'avoir compris la question...)

  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
    Au même titre qu'on utilise l'attribut 'label' dans List pour afficher un texte dans la liste, comment fait-on pour avoir la possibilité d'accéder à une valeur numérique afin d'accéder par la suite à la Bdd grace à celle-ci ? C'est pas plus compliqué

  4. #4
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Citation Envoyé par youtch Voir le message
    Au même titre qu'on utilise l'attribut 'label' dans List pour afficher un texte dans la liste, comment fait-on pour avoir la possibilité d'accéder à une valeur numérique afin d'accéder par la suite à la Bdd grace à celle-ci ? C'est pas plus compliqué
    euh , j'ai pas compris ?!

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par youtch Voir le message
    ...comment fait-on pour avoir la possibilité d'accéder à une valeur numérique afin d'accéder par la suite à la Bdd grace à celle-ci ? ....
    Salut

    Déjà, si tu souhaites associer une valeur numérique à d'autres variables côté flex, il faut qu'elles le soient aussi dans ta bdd.
    D'où la suggestion de Jylax de compléter ta table avec un champ ID (c'est numérique, donc), et nécessairement auto-incrémenté.
    Sinon, comment peux-tu faire une association.
    Ensuite, c'est ta requête qui retourne à flex, ces variabes ID.
    Tu peux ensuite l'exploiter comme tu veux, et sans être obligé de l'afficher.

  6. #6
    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
    Au même titre qu'on utilise l'attribut 'label' dans List pour afficher un texte dans la liste, comment fait-on pour avoir la possibilité d'accéder à une valeur numérique afin d'accéder par la suite à la Bdd grace à celle-ci ? C'est pas plus compliqué
    A mon avis ton problème ne doit être tellement pas un problème que personne ne parait comprendre ce que tu veux dire...

    En fait label est une propriété de chaque élément de ton dataprovider utilisée par ta liste. Si tu renvois le champ ID de ton exemple côté Flex tu auras accés à la propriété ID dans chaque objet de ton dataprovider. Tout simplement. C'est pas plus compliqué

  7. #7
    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
    J'ai trouvé une solution : effectivement j'ai utilisé une requête qui récupére id + texte dans la table sql.
    Ma solution (au long cours) est de récupérer l'id avec 'id as data' et 'texte as label', pour ça pas de soucis. Ensuite il suffit d'envoyer le tout avec dataprovider sur la List, puis dans la fonction chargée de récupérer les données, j'ai indiqué etatSupprCDategories(list3_1.selectedItem.data).
    NB : data est bien un attribut valide, pour cela voir la doc de reference à du control "List", le dernier exemple de la page en question .

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/05/2012, 18h25
  2. Réponses: 1
    Dernier message: 26/11/2009, 12h29
  3. [VB.NET] Associer une clé aux éléments d'une combo
    Par Cereal123 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 30/03/2009, 14h52
  4. comment accéder aux éléments d'une liste
    Par RouRa22 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 07/05/2008, 13h53
  5. Réponses: 7
    Dernier message: 30/03/2006, 10h04

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