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 :

listbox selection multiple VB


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Par défaut listbox selection multiple VB
    Bonjour
    Voilà c'est surement tout con mais je ne retourne que la première valeur sélectionnée alors que je pensais que le "Movenext" me placerais bien sur la ligne suivante (j'ai aussi essayé avec des "selectItems(i)" mais je retourne aussi bien la valeur de DisplayMember que de la ValueMember...j'y vois plus clair
    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Btn_ajout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ajout.Click
            Dim i As Integer
            Dim utilajoutxt As String
            Dim MonEnum As IEnumerator = Me.lst_utilisateurs.SelectedItems.GetEnumerator
            i = 0
            While MonEnum.MoveNext
     
                utilajoutxt = Me.lst_utilisateurs.SelectedValue
                i = i + 1
            End While
     
        End Sub

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par jcl49 Voir le message
    Bonjour
    Voilà c'est surement tout con mais je ne retourne que la première valeur sélectionnée alors que je pensais que le "Movenext" me placerais bien sur la ligne suivante (j'ai aussi essayé avec des "selectItems(i)" mais je retourne aussi bien la valeur de DisplayMember que de la ValueMember...j'y vois plus clair
    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Btn_ajout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ajout.Click
            Dim i As Integer
            Dim utilajoutxt As String
            Dim MonEnum As IEnumerator = Me.lst_utilisateurs.SelectedItems.GetEnumerator
            i = 0
            While MonEnum.MoveNext
     
                utilajoutxt = Me.lst_utilisateurs.SelectedValue
                i = i + 1
            End While
     
        End Sub
    Tu mélanges un peu tout là... MoveNext n'a rien à voir avec la ListBox, c'est une méthode de l'énumérateur qui sert à passer à l'élément suivant de la collection. Ca ne touche pas à l'élément sélectionné de la ListBox... D'ailleurs en général tu n'as pas besoin de manipuler explicitement l'énumérateur, il y a la boucle For Each qui sert à ça.

    Si tu veux afficher toutes les valeurs sélectionnées, tu peux faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Btn_ajout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ajout.Click
            Dim i As Integer
            Dim utilajoutxt As String
            For Each util As String In lst_utilisateurs.SelectedItems
     
                utilajoutxt = utilajoutxt & ", " & util
            End While
            MessageBox.Show(utilajoutxt)
        End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Par défaut
    merci,
    mais ça me retourne le message
    La conversion du type 'DataRowView' en type 'String' n'est pas valide.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par jcl49 Voir le message
    merci,
    mais ça me retourne le message
    Ah ok, j'ai supposé que les items de ta ListBox étaient des String... Si tu l'as bindé à une DataTable, effectivement c'est des DataRowView

    Donc il faut faire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        Private Sub Btn_ajout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ajout.Click
            Dim i As Integer
            Dim utilajoutxt As String
            For Each row As DataRowView In lst_utilisateurs.SelectedItems
                Dim util As String = CString(row(lst_utilisateur.ValueMember))
                utilajoutxt = utilajoutxt & ", " & util
            End While
            MessageBox.Show(utilajoutxt)
        End Sub

  5. #5
    Nouveau membre du Club
    Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Par défaut
    Du coup c'est le message :
    v_individus.vClpesydreId n'est pas un DataColumn ou un DataRelation pour la table v_individus.
    Au chargement du formulaire je rempli ma listebox avec cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Me.lst_utilisateurs.DataSource = mesreqt.remplir_debase1("v_individus", "select v_individus.vNomcomplet, v_individus.vClpesydreId from v_individus  Order by vNomcomplet")
                Me.lst_utilisateurs.DisplayMember = "v_individus.vNomcomplet"
                Me.lst_utilisateurs.ValueMember = "v_individus.vClpesydreId"
                Me.lst_utilisateurs.SelectedIndex = -1
    merci si tu trouves moi je sèche (j'ai remplacé dans ton ex Cstring en CChar

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Pourquoi tu mets "v_individus.vClpesydreId" comme ValueMember ? Le nom de la table n'est utilisé que dans le requête SQL (quoi que dans ce cas précis ce n'est même pas nécessaire). Mets juste "vClpesydreId", ça devrait marcher

    (c'est Fort Boyard ton application ? )

  7. #7
    Nouveau membre du Club
    Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Par défaut
    effectivement cela vient d'une appli où on gère des temps...
    bref si je vire le nom de la table ma listebox ne se remplit plus

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Elle renvoie quoi la fonction remplir_debase1 ? Une DataTable ? Un DataSet ?

  9. #9
    Nouveau membre du Club
    Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Par défaut
    un dataset

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par jcl49 Voir le message
    un dataset
    OK, donc déjà c'est bizarre ce que tu fais... en général on met pas directement un DataSet en DataSource d'une ListBox, ou alors on précise le nom de la table dans DataMember. Mais bon tu vas pas tout changer maintenant, donc modifie juste cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim util As String = CString(row("vClpesydreId"))
    (et garde le nom complet avec la table pour DisplayMember/ValueMember)

  11. #11
    Nouveau membre du Club
    Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Par défaut résolu
    ça marche merci bcp

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par jcl49 Voir le message
    ça marche merci bcp
    Utilise le bouton alors
    (en bas de la page)

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

Discussions similaires

  1. Listbox selection multiple filtre
    Par Lionhart dans le forum C#
    Réponses: 2
    Dernier message: 08/01/2015, 16h02
  2. listbox selection multiple
    Par Chris171717 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/03/2013, 13h09
  3. ListBox, selection multiple
    Par Arnard dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 13/05/2011, 14h18
  4. récupérer valeur listbox selection multiple
    Par titou624 dans le forum C#
    Réponses: 9
    Dernier message: 18/05/2010, 09h09
  5. Problème entre 2 listbox à selection multiple
    Par SoaB dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 24/10/2005, 16h05

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