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 Sélection multiple


Sujet :

VB.NET

  1. #1
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut ListBox Sélection multiple
    Salut,

    Je cherche comment sélectionner plusieurs items par code dans un listbox.

    Pour cela, j'ai pensé que SelectedIndex suffirai mais non car cette propriété définit la sélection d'un seul élément.
    Par exemple si je fais:

    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
     
    Dim j As Integer = 0
            For Each r As DataRow In objDtrExpr
     
                lstAchat.Items.Add(r("Volume"))
     
                If TypeOf r("Achete") Is Boolean Then
     
                    Dim blnAchete As Boolean = CBool(r("Achete"))
                    If blnAchete = True Then
     
                        lstAchat.SelectedIndex = j
     
                    End If
     
                End If
                j += 1
            Next
    Si objDtrExpr (=>c'est une collection de DataRow) à 5 lignes, l'item sélectionné sera le 5ième et uniquement lui.

    J'ai mis la propriété SelectionMode à Multiple mais pas de changement.
    Je précise que je travaille en wpf mais je ne pense pas que cela a de l'importance...

    Merci à ceux qui m'aideront

  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 : 42
    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
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par yonpo Voir le message
    Je précise que je travaille en wpf mais je ne pense pas que cela a de l'importance...
    Bah un peu quand même, vu que les différentes ListBox ne fonctionnent pas toutes de la même façon...

    Tu peux utiliser la propriété SelectedItems :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lstAchat.SelectedItems.Add(r("Volume"))
    Par contre ça me semble pas génial ta façon de faire, ça va vraiment pas être pratique de suivre à quel DataRow correspond l'élément sélectionné si la ListBox contient juste la valeur du volume. Tu ferais mieux de binder ta ListBox à l'objet objDtrExpr (lstAchat.ItemsSource = objDtrExpr), et de définir le DisplayMemberPath à "Volume". Comme ça les SelectedItems seront de type DataRow, ce qui sera nettement plus pratique que de se baser sur les index

  3. #3
    Membre éprouvé Avatar de yonpo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2010
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 617
    Points : 947
    Points
    947
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Bah un peu quand même, vu que les différentes ListBox ne fonctionnent pas toutes de la même façon...
    Oui tu as raison, je me demande pourquoi j'ai écrit ça....

    Citation Envoyé par tomlev Voir le message
    Tu peux utiliser la propriété SelectedItems :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lstAchat.SelectedItems.Add(r("Volume"))
    Merci c'est exactement ce qu'il me fallait.

    Citation Envoyé par tomlev Voir le message
    Par contre ça me semble pas génial ta façon de faire, ça va vraiment pas être pratique de suivre à quel DataRow correspond l'élément sélectionné si la ListBox contient juste la valeur du volume.
    Le DataRow est juste un résultat de requète sur un DataSet. Je ne me servirai plus du DataRow donc je n'ai pas besoin de savoir à quel DataRow correspond l'item sélectionné.
    Mais merci de conseil, ça me servira surement pour d'autre fois

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/04/2013, 11h03
  2. Sélectionner la/les valeurs d'un listbox à sélection multiple
    Par Comeau dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/07/2012, 21h21
  3. [listbox] Sélection multiple
    Par chris78200 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 06/04/2012, 16h35
  4. Boucler pour effacer des lignes dans une listbox à sélection multiple
    Par simond1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/08/2008, 22h25
  5. Initialisation ListBox à sélections multiples
    Par vincentdu33 dans le forum C#
    Réponses: 1
    Dernier message: 26/07/2007, 09h54

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