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 :

Afficher collection dans DataGridView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut Afficher collection dans DataGridView
    Bonjour,
    J'ai une collection (dictionnaire) que j'aimerais afficher dans un DataGridView mais je n'y arrive pas.

    J'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim Key as String
     
    For each Key in Dico.Mondicoi(i)
        DataGridView1.Rows(i).Cells(0).Value = Dico.Mondico(Key)
    Next
     
    'et ça aussi:
     
    For Each Kvp as KeyValuePair(of string, string) in Dico.Mondico
       DataGridView1.Rows(i).Cells(0).Value = Dico.Mondico(i)
    Next Kvp
    Je suis débutant
    Quelqu'un sait comment faire?

    Merci de m'aider.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Je viens de retrouver ton sujet ici ^^

    Peux-tu me détailler les types de chacune de tes variables ? Parce là je suis un peu largué ...

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut
    alor j'utilise un dictionnaire (collection) que j'ai créé dans un module Dico:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Module Dico 
     
        Public DicEssais As New Dictionnary(Of String, String)
     
        sub InitDicEssais()
            DicEssais.Add("ess1","Niveau")
            DicEssais.Add("ess2","Vitesse")
            ...
            DicEssais.Add("ess21","Etat")
        End sub
     
    End module
    Puis dans le code de ma form je veux afficher les valeurs de ma collection (pas les clés) mais je ne sais pas comment faire

  4. #4
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.Rows(i).Cells(0).Value = Dico.Mondico.Item(Key)
    Il suffit de rajouter item .

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut
    J'ai essayer de faire çà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For each Key in Dico.DicEssais(i)
       DataGridView.Rows(i).Cells(0).Value = Dico.DicEssais.Item(Key)
    Next
    SA marche toujours pas

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Tu rentres dans ta boucle au moins ? Parce que ta déclaration me semble bancale...surtout le Dico.DicEssais(i)

  7. #7
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Met un point d'arrêt au niveau du "Next" et regarde ce qui se passe.

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut
    J'ai trouver la solution pour l'afficher dans un TextBox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For Each kvp As KeyValuePair(Of String, String) In Dico.DicEssais
         TextBox1.Text = TextBox1.Text  + Environment.NewLine + Format(Now,heure) + " -->" + kvp.Value
    Next kvp
    mais lorsque j'essais de faire la mm chose pour DataGridView sa ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For Each kvp As KeyValuePair(Of String, String) In Dico.DicEssais
          DataGridView.Rows(i).Cells(0).Value = kvp.value
    Next kvp

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Et le i que tu utilises, il a une valeur à un moment donné ?
    Ne serais-ce pas plutôt "Cells(1)" ? C'est juste une question sur l'index de départ des cellules, je ne m'en souviens plus ^^

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut
    Mon DataGrid a 2 colonnes est la première colonne a l'indice 0 donc non c'est bon...
    Dans Cells(1) j'affiche d'autres données

  11. #11
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Par défaut
    C'EST BON !!!!!!!!!!

    J'ai enfin réussi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    Dim j as integer = 0
     
    For Each kvp As KeyValuePair(Of String, String) In Dico.DicEssais
          DataGridView.Rows.Add()
          DataGridView.Rows(i).Cells(0).Value = kvp.value
          j = j + 1
    Next kvp
    Voila tout

    Merci à tous pour vos conseils sans lesquels je n'y serais jamais arrivé

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

Discussions similaires

  1. Afficher dans DataGridView des tables relationnelles
    Par sphynxounet dans le forum C#
    Réponses: 0
    Dernier message: 16/09/2010, 11h49
  2. afficher dans DataGridView
    Par ralf91 dans le forum C#
    Réponses: 3
    Dernier message: 12/02/2009, 13h20
  3. Comment afficher un Set(COLLECTION) DANS UNE jTABLE
    Par taf dans le forum Composants
    Réponses: 3
    Dernier message: 05/04/2006, 11h53

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