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

Windows Forms Discussion :

Problème pour récupérer valeurs d'un ComboBox


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut Problème pour récupérer valeurs d'un ComboBox
    Bonjour,

    Je cherche à récupérer des valeurs d'un combobox, mais je n'y parviens pas.
    En fait mon combobox est lié au résultat d'une requête sur une base de données, quand j'accède aux éléments du combobox, je ne sais pas comment récupérer les éléments.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    combo.DataSource = req.resultat.Tables(0)
    Ce que je sais c'est que chaque ligne de combo contient 3 colonnes mais je ne sais pas comment les récupérer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Private Sub RecupererLibellesValeurs()
            Dim i As Integer
            Dim tmp As Object
            If (Me.cboCodeValeur.Items.Count > 0) Then
                HashTableLibVal = New Hashtable
                For i = 0 To cboCodeValeur.Items.Count - 1
                    tmp = cboCodeValeur.Items.Item(i)
                Next i
            End If
     End Sub
    J'ai un objet "tmp" mais je n'arrive pas à accéder à son contenu.

    Si vous avez des idées ?

    Merci d'avance.

  2. #2
    Membre expérimenté Avatar de LaChips
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 109
    Points : 1 482
    Points
    1 482
    Par défaut
    Bonjour,
    Met un point d'arrêt après ta ligne tmp = ...
    Et ajoute un espion sur la variable tmp et regarde ce qu'elle contient.

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Normalement si tu alimente ta combo depuis une datatable, tes items de combo sont des datarows.

    Si une valeur t'intéresse particulierement, positionne la prop ValueMember avec le nom de champ qui t'intéresse, et tu récupéreras dans Value le champ en question pour l'item sélectionné.

    Accessoirement, quand on fait les chose via des objets metiers plutôt que d'alimenter les contrôles directement depuis la dal, on n'a pas ce genre de soucis

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    OK merci je vais tester.

    Encore une précision, comment je peux gérer l'événement "sélection combobox" ? En effet je souhaite récupérer l'élément sélectionné par l'utilisateur ?

    Merci d'avance.

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 317
    Points
    13 317
    Par défaut
    Event SelectedIndexChanged

    donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    MyCombo.SelectedIndexChanged += new EventHandler(MyCombo_SelectedIndexChanged);
    void MyCombo_SelectedIndexChanged(object sender, EventArgs e)
    {
      myValue = MyCombo.Value;
    }

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Points : 148
    Points
    148
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp = cboCodeValeur.ValueMember
    me donne bien une colonne de ma table mais je n'ai que le nom de la colonne mais pas la valeur !

    En VB.NET, je n'ai pas la propriété "Value".

    A titre indicatif, si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp = cboCodeValeur.Text
    j'obtiens : System.Data.DataRowView

    Il faut peut-être travailler avec cet objet ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 21/10/2011, 09h47
  2. Problème pour récupérer valeur du $_GET
    Par maxime612001 dans le forum Langage
    Réponses: 8
    Dernier message: 27/05/2011, 17h47
  3. problème pour récupérer valeur sélectionnée de combobox
    Par batou22003 dans le forum Développement Windows
    Réponses: 2
    Dernier message: 03/02/2011, 11h30
  4. Problème pour récupèrer valeurs checkbox
    Par Thewil dans le forum Struts 2
    Réponses: 0
    Dernier message: 15/12/2009, 12h03
  5. Réponses: 4
    Dernier message: 13/12/2006, 00h08

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