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 :

Multiselection sur une listbox


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut Multiselection sur une listbox
    Bonjour,

    j'ai une listbox qui recupere des données d'un datatable qui recupere ses données d'un base de données.

    le but de mon histoire est de selectionner certain items de ma listbox et de recuperer la clé : la datatable a 2 colonnes, une qui contient l'ID et l'autre qui contient un texte (nom)

    mon probleme est que je suis obligé de recuperer l'ID de ma datatable, je n'arrive pas a recuperer le "value member" de ma list view (qui contient mon ID le display member contenant le nom)

    voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            For i = 0 To Me.ListBox1.Items.Count - 1 'je parcoure tous les items de ma listbox
     
                If Me.ListBox1.GetSelected(i) = True Then ' si il y en a un de selectionné 
                    Me.TextBox1.AppendText(Me.Données.Rows(i).Item(0).ToString() & "  ") 'je recherche dans ma datatable "Données" l'ID correspondant
                    'et non pas directement dans ma listbox
                End If
            Next
    je n'arrive donc pas a regarder les proprietes de mon item concernant l'ID

    Solution ??

    Merci

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    le texte (as string) des elements d'une listbox est ce qu'on voit, mais on peut mettre n'importe quoi dedans, et le listbox appelle ensuite tostring pour savoir quoi afficher

    donc tu peux y mettre quelque chose qui contient l'id et qui affiche le texte, comme ca tu récupère l'id directement avec le selecteditem
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    j'ai pas tres bien compris ta reponse ... pas du tout meme

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 10
    Par défaut
    Ca y est j'ai trouvé ... c'etait dur ... et le probleme vient du fait que l'intellisense ne fonctionne pas dans ce cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            For Each SelectedItems In ListBox1.SelectedItems
     
                Me.TextBox1.AppendText(SelectedItems.Item(0).ToString & " ")
     
     
            Next
    SelectedItems.Item(0).ToString est la ligne qui resoud mon probleme quand on regarde l'intellisense il nous donne des options tres limitées (tostring et autre) mais le type retourné par listbox.selecteditems dans le cas d'une lise multicolone est un system.data.datarowview on a donc acces a tous les membres de cette classe et le membre Item donne le choix de la colonne a retourner

    probleme suivant : ne pas utiliser de datatable pour remplir ma listbox ...

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    un datareader avec listbox.items.Add()

    par contre si tu veux récupérer l'id en affichant que le nom, il faut une miniclasse contenant les 2 et en surchargeant tostring


    sinon tes paramètres de vb sont ceux par défaut à priori et donc permettent de faire des choses qui sont interdites dans les bonnes pratiques de développement
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. drag and drop sur une listBox?
    Par Mickey.jet dans le forum Delphi
    Réponses: 3
    Dernier message: 30/09/2006, 10h27
  2. [MFC] clic droit sur une listbox ?
    Par julien.nasser dans le forum MFC
    Réponses: 1
    Dernier message: 07/06/2006, 14h53
  3. Scrolling sur une ListBox
    Par dede92 dans le forum Windows
    Réponses: 2
    Dernier message: 02/06/2006, 18h56
  4. dégradé sur une listbox avec 1/2 couleurs
    Par avogadro dans le forum Composants VCL
    Réponses: 8
    Dernier message: 05/05/2006, 18h21
  5. [C#] récupérer une multiselection d'une listBox
    Par Nycos62 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 06/12/2005, 14h13

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