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

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Points : 90
    Points
    90
    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 é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
    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 régulier Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Points : 90
    Points
    90
    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
    Points : 3 189
    Points
    3 189
    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 ?!

  5. #5
    Membre éprouvé 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
    Points : 1 019
    Points
    1 019
    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 é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
    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 régulier Avatar de youtch
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    94
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 94
    Points : 90
    Points
    90
    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 .

  8. #8
    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
    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
    Dans l'exemple data est valide parce que le dataprovider contient des items ayant une propriété data .

    data n'est pas un attribut valide dans l'absolu !

    Dans ton cas tu pourrais faire 'id as schtroumpf' et 'texte as bigbang' dans ta requête. Côté Flex tu aurais alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    etatSupprCDategories(list3_1.selectedItem.schtroumpf) ;
    Je me demande si c'est bien clair pour toi ?

+ 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