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 :

Remplir une DataGridView avec un DataTable [Débutant]


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Remplir une DataGridView avec un DataTable
    Bonjour ,

    Je bosse actuellement sur un projet en c# et je voudrais remplir une gridView avec les donnés de la dataTable.
    Pour la connection à la base de données, j'ai un fichier DataAccess qui me permet de le faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ATTACH]143796[/ATTACH]
    J'ai pu récuperer les donnés avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DataAccess dataA = new DataAccess();
                DataTable dataT = new DataTable();
                dataT = dataA.getData("Select * from hotel");
    //je selectionne la source pour ma gridview (dGVResultats)
     this.dGVResultats.DataSource = dataT;
    Ma gridView affiche autant de lignes vides qu'il y a de resultats.
    Mais je n'arrive pas a afficher les donnés sur ma gridView, des pistes ?

    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 639
    Points : 2 148
    Points
    2 148
    Par défaut
    Bonjour,

    essayer d'ajouter ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.dGVResultats.DataMember = dataT.ToString();
    Et dis moi si ça change quelque chose.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Re: datagridview
    Non déolé ca ne marche pas, ca génère une exception :

    Nom : Capture.JPG
Affichages : 850
Taille : 52,6 Ko

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par collisionv Voir le message
    J'ai pu récuperer les donnés avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DataAccess dataA = new DataAccess();
                DataTable dataT = new DataTable();
                dataT = dataA.getData("Select * from hotel");
    //je selectionne la source pour ma gridview (dGVResultats)
     this.dGVResultats.DataSource = dataT;
    Ma gridView affiche autant de lignes vides qu'il y a de resultats.
    Mais je n'arrive pas a afficher les donnés sur ma gridView, des pistes ?

    Merci d'avance
    Bonjour,

    Il y a 2 possibilités pour ton "dGVResultats" pour résoudre ton soucis :
    - Soit tu définis "AutoGenerateColumns" à true et dans ton designer tu ne définis pas de colonnes
    - Soit tu définis "AutoGenerateColumns" à false et dans ton designer tu dois définir les colonnes et indiquer aussi le "DataMember" de chaque colonne. Il s'agit alors du nom des colonnes de ta DataTable qui sont les noms des colonnes de ta requête. Dans ce cas fais aussi bien attention à bien faire correspondre les types des colonnes.

    L'exemple fourni par MSDN fais transiter par un objet "BindingSource".
    Regarde ici si tu veux un exemple :
    http://msdn.microsoft.com/fr-fr/libr...v=vs.110).aspx

    Un autre petit détail dans ton exemple : étant donné que ta méthode "dataA.getData" va renvoyer une référence de DataTable, il est complétement inutile de faire cette instruction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable dataT = new DataTable();
    car dans ce cas la référence à "new DataTable()" sera perdue quand tu feras :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataT = dataA.getData("Select * from hotel");
    Si tu fais cela trop souvent, cela posera des problèmes de performance.

    Fais plutôt directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataTable dataT = dataA.getData("Select * from hotel");
    ou alors si tu veux absolument déclarer la variable d'abord :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DataTable dataT = null;
    dataT = dataA.getData("Select * from hotel");

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Re: Datagridview
    Merci beaucoup ça marche !

    Votre aide m'a été très utile

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

Discussions similaires

  1. Remplir une datagridview avec un requête
    Par TikTak dans le forum C#
    Réponses: 3
    Dernier message: 18/03/2010, 16h40
  2. Remplir une Listbox avec DataTable
    Par sisi37 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 12/03/2010, 11h02
  3. [c#] Remplir un DataGridView avec plusieurs DataTable
    Par macfred dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/02/2010, 11h02
  4. Réponses: 2
    Dernier message: 09/07/2007, 13h09
  5. Réponses: 5
    Dernier message: 05/07/2007, 09h01

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