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 :

Copier des colonnes de dataGridView vers une autre DataGridView


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut Copier des colonnes de dataGridView vers une autre DataGridView
    Bonjour,

    J'essaie de copier des colonnes d'une DataGridView1 vers une DataGridView2 mais le copiage ne se passe pas bien. En effet, j'ai l'impression que je duplique à chaque fois les colonnes de DataGridView1 sans rien faire d'autre.

    Mon code est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      foreach (DataGridViewColumn col in dataGridView2.Columns)
                {
     
                    dataGridView1.Columns.Add((DataGridViewColumn)col.Clone());
     
     
                }
     
                dataGridView1.Refresh();
    Pourriez-vous m'aider SVP à diagnostiquer le problème.

    Merci!
    BC!

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par samuel44 Voir le message
    En effet, j'ai l'impression que je duplique à chaque fois les colonnes de DataGridView1 sans rien faire d'autre.
    Tu veux copier juste les colonnes ou des données avec ?
    Parce que ton code ne copie que la structure du DataGridView (et fonctionne bien)
    "Hope for the best, but prepare for the worst."

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Je veux copier les données avec.

    Merci!

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par samuel44 Voir le message
    Je veux copier les données avec.

    Merci!
    Le DataGridView n'est que le moyen d'affichage : si tu veux copier les données avec, il faut copier la source de données pour garder une certaine "cohérence" dans tes données

    (Quelle est la source de données ici ? ^^)
    "Hope for the best, but prepare for the worst."

  5. #5
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGridView1.DataSource= DataGridView2.DataSource;

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Ah ok Merci!

    Mais, je veux garder des données dans la DataGridView1.(il ne faut pas écraser les données qui se trouvent dans la datagRidview).

  7. #7
    Membre expérimenté
    Avatar de charouel
    Homme Profil pro
    Freelance
    Inscrit en
    Mars 2009
    Messages
    618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 618
    Points : 1 454
    Points
    1 454
    Billets dans le blog
    9
    Par défaut
    avec cette façon tu ne écraseras pas les données juste un simple copie.

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par charouel Voir le message
    avec cette façon tu ne écraseras pas les données juste un simple copie.
    Référence

    Si tu modifies la DS de DGV1, ça va aussi modifier la DS de DGV2 (si c'est ce que tu souhaites, mais j'ai du mal à voir pourquoi on aurait besoin d'afficher 2 fois les mêmes données si celles-ci sont liées entre elles).
    "Hope for the best, but prepare for the worst."

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Une simple copie sans écraser les données qui existent déjà dans DataGridView1 (je copie et j'ajoute les colonnes de DataGridview2 à DataGridView1 sans modifier les données qui existent déjà dans DGV1).

    Merci

  10. #10
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par samuel44 Voir le message
    Une simple copie sans écraser les données qui existent déjà dans DataGridView1 (je copie et j'ajoute les colonnes de DataGridview2 à DataGridView1 sans modifier les données qui existent déjà dans DGV1).

    Merci
    Si j'ai compris, tu as deux DGV dont un a les colonnes A, B et C et le deuxième les colonne X, Y, A, B et C ? (par exemple)
    "Hope for the best, but prepare for the worst."

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Oui, j'ai deux DGV: le premier est DGV1 (4 colonnes) et la seconde DGV2 (4 colonnes).

    Je veux rajouter les données de DGV2 dans DGV1 tout en gardant les données de DGV1.

    J'espère que c'est bien clair!

    Merci!

  12. #12
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par samuel44 Voir le message
    Oui, j'ai deux DGV: le premier est DGV1 (4 colonnes) et la seconde DGV2 (4 colonnes).

    Je veux rajouter les données de DGV2 dans DGV1 tout en gardant les données de DGV1.

    J'espère que c'est bien clair!

    Merci!
    Ah... donc dans DGV1 tu as 5 lignes, dans DGV2 tu as 3 lignes et tu voudrais qu'après la manip tu aies 8 lignes dans DGV1 ?
    "Hope for the best, but prepare for the worst."

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    OUI!!

  14. #14
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Du coup, ton datasource, c'est une DataTable ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      foreach (DataGridViewRow dgvr in dataGridView2.Rows)
                {
     
                    dataGridView1.Rows.Add((DataGridViewRow )dgvr.Clone());
     
     
                }
    (ndlr : je ne suis pas sûr que ça fonctionne, surtout dans le cas d'une DataTable -_- )

    Si c'est une DataTable, il va falloir cloner chaque DataRow de ta DataTable pour l'ajouter à l'autre
    "Hope for the best, but prepare for the worst."

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    OUI!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.DataSource = sqlDataSet.Tables[0];

  16. #16
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataTable1.Merge(dataTable2);
    (dataTable1 = dataTable1 + dataTable2)

    ?

    MSDN : Méthode Merge

    Et pour info : Colonne = Définition, Ligne = Données (pour faire court ^^)
    "Hope for the best, but prepare for the worst."

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    Très bien! Merci!

    Je préfère comme même copier sans passer les sources !

    Es ce que tu penses que cela peut être possible?

  18. #18
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par samuel44 Voir le message
    Je préfère comme même copier sans passer les sources !

    Es ce que tu penses que cela peut être possible?
    Je n'ai pas compris la question Copier quoi ? Les valeurs plutôt que les DataTables ?
    "Hope for the best, but prepare for the worst."

  19. #19
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2016
    Messages : 132
    Points : 59
    Points
    59
    Par défaut
    OUI! copier les valeurs (les colonnes) directement de dgv2 dans dgv1 sans passer par les sources.

  20. #20
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 233
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par samuel44 Voir le message
    OUI! copier les valeurs (les colonnes) directement de dgv2 dans dgv1 sans passer par les sources.
    Pourquoi voudrais-tu faire ça ? Qu'est-ce que ça pourrait t'apporter ? (j'arrive pas à voir l'intérêt ^^)
    "Hope for the best, but prepare for the worst."

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/02/2011, 22h40
  2. Réponses: 1
    Dernier message: 15/02/2010, 10h15
  3. [Toutes versions] Comment charger des données d'Excel vers une autre application
    Par orafin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/11/2009, 21h20
  4. elements de DataGridView vers une autre
    Par kalilio76 dans le forum VC++ .NET
    Réponses: 10
    Dernier message: 16/04/2007, 13h58
  5. Réponses: 62
    Dernier message: 05/07/2006, 13h48

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