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 :

Remplir un datagrid depuis une classe


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Technicien Qualité Logiciel
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Qualité Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Par défaut Remplir un datagrid depuis une classe
    Bonjour à tous,

    J'ai un petit soucis, mais je n'arrive pas à trouver une solution sur la toile...

    Je me suis créé une petite application avec un datagrid dans une des forms.
    Je voudrais remplir le datagrid avec des informations situé dans un fichier XML.
    Pour lire le fichier XML j'ai créé une classe, et de cette classe je remplis le datagrid.

    Voici une partie du code faisant partie de la classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'On récupére l'éléments "concour" du fichier xml
                Dim elementConcour As XmlNodeList
                For i = 1 To My.Settings.iNombreConcourRemonter - 1
                    elementConcour = ouvrirXml.DocumentElement.GetElementsByTagName("concour" & i)
     
                    'Passer en revu l'élément "concour"
                    For Each noeud In elementConcour
                        For Each noeudnom In noeud.ChildNodes
                            'Lire le noeud "organisateur"
                            If noeudnom.LocalName = "organisateur" Then
                                ChoixConcour.DataGridConcourRemonter.Rows.Add() 'Ajout d'une nouvelle ligne
                                ChoixConcour.DataGridConcourRemonter.Item(0, i - 1).Value = noeudnom.InnerText
                            End If
    Explication :
    ChoixConcour : c'est le nom de ma form
    DataGridConcourRemonter : c'est le nom de mon datagrid

    Donc là il ne me crée pas de ligne, pourtant quand je suis en mode débogage il prend en compte toutes les lignes sans me faire d'erreur...
    Je me suis penché sur la possibilité que mon datagrid soit en lecture seul, mais je ne sais pas trop comment le vérifier (readyonly = false)

    Si vous avez une solution je suis preneur :-)

    Je vous remercie d'avance.
    Bonne journée!

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    je te donne une partie de mon cose qui fonctionne trés bien a grande échelle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'Ajout d'un ligne pour les infos sur la Coupure
    dtGridDimensions.Rows.Add(dtNumCoupure, dtNomCoupure, dtCodeProduit, dtLargeurPalette, dtLongueurPalette, dtHauteurPalette, dtLargeurBoite, dtLongueurBoite, dtHauteurBoite)
    je pense que tu a juste besoin d'apporter la modification suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'récupération de la valeur
    dim varNoeudNom as object = noeudnom.InnerText 
    'ajout d'une ligne dans le datagrid
    ChoixConcour.DataGridConcourRemonter.Rows.Add(varNoeudNom)
    mais je ne sais pas vraiment ce que contient ton "InnerText"
    c'est pourquoi j'ais mis "as object"

    si tu a plusieurs valeur, je te conseil de les récupérer dans dans variables que tu ajoutera simplement par la suite comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChoixConcour.DataGridConcourRemonter.Rows.Add(var1, var2, var3, etc.)
    Bonne continuation,

  3. #3
    Membre averti
    Homme Profil pro
    Technicien Qualité Logiciel
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Qualité Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Par défaut
    Bonjour hunteshiva,

    Merci pour ta réponse.
    J'ai essayé ta méthode mais ça ne fonctionne toujours pas.
    En fait si je code l'ajout d'une nouvelle ligne directement dans la form, ça fonctionne.
    Mais comme je passe par une classe pour faire l'ajout d'une ligne, la ligne ne s'ajoute pas :-(

    Pourtant j'ai regardé sur un projet que j'ai fini récemment où j'ai fait exactement le même chose à savoir l'ajout d'information dans un datagrid à partir d'une classe, et j'ai réussi sans soucis...

    Je vais regardé si j'ai pas oublié un truc au passage.
    N'hésité pas si vous avec une autre idée :-)

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    tu a essayé de suivre a l'aide du débogage ou il planté ??
    il y a un message d'erreur ?

    si tu l'a pas fait, je t'encourage a le faire
    en suivant pas à pas le fonctionnement, tu va voir ou il s'arréte ou ce qu'il ne fait pas

    je t'aurais bien aidé + mais la ou je travail on fini a 15h30
    *vive les fonctionnaires*

    Bon weekend

  5. #5
    Membre averti
    Homme Profil pro
    Technicien Qualité Logiciel
    Inscrit en
    Janvier 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Qualité Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 44
    Par défaut
    Ouai j'ai suivi pas à pas et j'ai pas d'erreur, il passe le code mais sans l'exécuter...
    C'est même bizarre car ensuite je rempli le datagrid donc j'ajoute des données dans la ligne et il devrait me mettre une erreur d'index vu que la ligne ne se crée pas??

    Il peut me créer la ligne en mémoire et ne pas l'afficher??

    Je te remercie hunteshiva, bon weekend à toi aussi!

Discussions similaires

  1. Remplir une DataGrid depuis une requête ODBC
    Par peephole83 dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 28/07/2010, 12h07
  2. remplir un datagridview depuis une classe
    Par thor76160 dans le forum C#
    Réponses: 2
    Dernier message: 03/04/2010, 14h00
  3. Remplir ListBox depuis une classe
    Par AoSiX dans le forum C#
    Réponses: 7
    Dernier message: 23/12/2008, 02h11
  4. Réponses: 14
    Dernier message: 15/12/2005, 18h46
  5. Référence à un objet existant depuis une classe
    Par Adrenalys dans le forum ASP
    Réponses: 2
    Dernier message: 21/07/2005, 00h44

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