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

VB.NET Discussion :

Problème avec ValueMember


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Par défaut Problème avec ValueMember
    Bonjour,

    Je n'arrive pas à avoir la valeur du selectedvalue de ma listdevis

    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
    28
     
     str = listclient.SelectedValue
            listdevis.Items.Clear()
     
            Try
                connexion_devis()
                sql = "Select Nom,Id From Devis Where idClient Like  '" & str & "'"
     
                Dim requete As New OleDbCommand(sql, cnx)
     
                reader = requete.ExecuteReader()
     
                Do While reader.Read()
                    listdevis.Items.Add(reader("Nom"))
                    listdevis.ValueMember = reader("Id")
                Loop
     
                reader.Close()
     
            Catch ex As Exception
                MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
            End Try
            Try
                cnx.Close()
            Catch ex As Exception
                MessageBox.Show("Impossible d'établir la connection à la base." & ex.Message)
            End Try
    MsgBox(listdevis.SelectedValue)
    Help please.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,
    Dans ton code :
    Citation Envoyé par deviljim Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    listdevis.Items.Clear()
     ...
    MsgBox(listdevis.SelectedValue)
    Vider la liste puis tenter de lire la valeur sélectionnée, aïe ...

  3. #3
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Quel est le type de listdevis ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Par défaut
    Citation Envoyé par ebastien Voir le message
    Bonjour,
    Dans ton code :


    Vider la liste puis tenter de lire la valeur sélectionnée, aïe ...
    Oui la liste ne sera vidée que si on ré-clique sur la listclient, c'est pour ne pas me retrouver avec les mêmes devis quand je change de client...
    En plus en testant sans effacé la listdevis j'ai toujours pas de valeur...

    Citation Envoyé par mactwist69 Voir le message
    Quel est le type de listdevis ?
    C'est un listbox, les 2 sont des listboxs, je rempli listdevis en cliquant sur la listclient, c'est 2 tables liée dans une base.

  5. #5
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut
    Il semble que tu as deux colonnes : Id et Nom.
    Or les propriétés ValuMember et DisplayMember servent à définir quelle colonne est affichée et quelle laquelle possède une valeur cachée.

    Donc ça, c'est faux: listdevis.ValueMember = reader("Id")

    Ça devrait plutôt être un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    listdevis.ValueMember = ("Id")
    listdevis.DisplayMember = ("Nom")
     
    listdevis.Add(reader("id"),reader("nom"))
    Je suis pas sur de l'exacte manière de faire... :
    http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 13
    Par défaut
    Mon code accuel fonctionne, le souci c'est qu'une fois la listdevis est remplie j'ai pas de valeur dans le selectedvalue or j'ai besoin l'id du devis sélectionné

    en faisant ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    listdevis.ValueMember = ("Id")
    listdevis.DisplayMember = ("Nom")
     
    listdevis.Add(reader("id"),reader("nom"))
    ma liste est remplie par id et nom et toujours pas de valeur ddans le selectedvalue

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Lorsque tu remplis ta liste devis, il n'y a plus de valeur sélectionnée, c'est ce que t'indique ebastien, il faut de nouveau sélectionner une valeur avant de pouvoir l'afficher avec MsgBox(listdevis.SelectedValue). Pour info, tu devrais utiliser messagebox.show.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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