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 :

[C#] Copier ligne par ligne un datagridview vers un autre datagridview


Sujet :

Windows Forms

  1. #21
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    essai ça alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
       DataGridViewRow r = new DataGridViewRow();
       r.CreateCells(dataGridView2);
       r["Designation"] = row["Designation"];
       r["Fabricant"] = row["Fabricant"];
       r["Collection"] = row["Collection"];
       r["Type"] = row["Type"];
       dataGridView1.Rows.Add(r);
    }

  2. #22
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    Du coup j'ai une erreur:
    Erreur 1 Impossible d'appliquer l'indexation à l'aide de [] à une expression de type 'System.Windows.Forms.DataGridViewRow'

    et ceux pour toutes mes colonnes, mais je dois mettre comment le nom de mes colonnes avec ou sans les guillements? là je l'ai mis comme ça
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    DataGridViewRow r = new DataGridViewRow();
    r.CreateCells(dataGridView2);
    r["DESIGNATION"] = row["DESIGNATION"];
    r["NOMFOURNISSEUR"] = row["NOMFOURNISSEUR"];
    r["COLLECTION"] = row["COLLECTION"];
    r["TYPEARTICLE"] = row["TYPEARTICLE"];
    dataGridView1.Rows.Add(r);
    }

  3. #23
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    et ben c pas facil
    et ça ?

    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    DataGridViewRow r = row.Clone();
    r["Designation"] = row["Designation"];
    r["Fabricant"] = row["Fabricant"];
    r["Collection"] = row["Collection"];
    r["Type"] = row["Type"];
    dataGridView1.Rows.Add(r);
    }

  4. #24
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    autre erreur:
    Erreur 1 Impossible de convertir implicitement le type 'object' en 'System.Windows.Forms.DataGridViewRow'. Une conversion explicite existe (un cast est-il manquant*?)

    Mais tu ne m'a as répondu ce qu'il fallait mettre, les titres des colonnes ou le nom dans la base de données des colonnes, moi je mes les noms de la base de données, d'où
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    DataGridViewRow r = row.Clone();
    r["DESIGNATION"] = row["DESIGNATION"];
    r["NOMFOURNISSEUR"] = row["NOMFOURNISSEUR"];
    r["COLLECTION"] = row["COLLECTION"];
    r["TYPEARTICLE"] = row["TYPEARTICLE"];
    dataGridView1.Rows.Add(r);
    }
    et esque je dois laisser les guillemet?
    merci pour tous ce que tu fais

  5. #25
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    ca ne marchera pas puisque tu ne peux pas appliquer [] sur un DataGridViewRow...

  6. #26
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    donc je dois faire koi?
    Le plu blasant c'est que je fais tout ça juste pour completer un datagridview par des lignes vides pour qu'il remplisse toute la fenetre, si je trouvais un moyen plus simple sa serait cool maiz bon...

  7. #27
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    ben il faut mettre le nom des colonnes bien sur !! si tu met le nom des champ de ta BDD, forcement aucunes des solution présentées ci-dessus ne fonctionnera !!

  8. #28
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    Erreur 1 Impossible d'appliquer l'indexation à l'aide de [] à une expression de type 'System.Windows.Forms.DataGridViewRow'
    quelque soit le nom des champs ca ne peux pas marcher...

  9. #29
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    ben j'ai les memes erreurs donc de toutes les façons! mais c'est boligé que lorsqu'on déconnecte un datagridview de son datasource automatiquement il se vide?

  10. #30
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    ben oui, sans sources de données , pas de données. Sauf si tu les ajoutes à la main (Rows.Add()...)

  11. #31
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par guitoux1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataGridView1.DataSource = datagridView2.DataSource;
    ca donne quoi avec la deuxieme solution de guitoux1?

  12. #32
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    ben ça me supprime toutes les lignes vides que j'avais ajouter, et vu que datagridview1 est connecté à un datasource je peux plus ajouter des llignes vides

  13. #33
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    essayes ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    DataGridViewRow r = row.Clone();
    r.Cells[0].Value = row.Cells[0].Value;
    r.Cells[1].Value = row.Cells[1].Value;
    r.Cells[2].Value = row.Cells[2].Value;
    r.Cells[3].Value = row.Cells[3].Value;
    dataGridView1.Rows.Add(r);
    }
    edit: avec une boucle for sur les Cells ce serait ptete plus judicieux...

  14. #34
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    Non il ya tjrs 1 erreur:
    Erreur 1 Impossible de convertir implicitement le type 'object' en 'System.Windows.Forms.DataGridViewRow'. Une conversion explicite existe (un cast est-il manquant*?)

    Mais déjà ça change car avant il avait bcp plus d'erreur

  15. #35
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    oui c'est normal

    il faut faire ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    DataGridViewRow r = (DataGridViewRow)row.Clone();
    r.Cells[0].Value = row.Cells[0].Value;
    r.Cells[1].Value = row.Cells[1].Value;
    r.Cells[2].Value = row.Cells[2].Value;
    r.Cells[3].Value = row.Cells[3].Value;
    dataGridView1.Rows.Add(r);
    }

  16. #36
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    Il n'y a pas d'erreur ni de bug, par contre ça me créer en ligne vide le nombre de ligne de datagridview2

  17. #37
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    En fait j'ai les mêmes résultats qu'avec
    foreach(DataGridViewRow row in datagridview2.Rows)
    datagridview1.Rows.Add((DataGridViewRow)(row.Clone()));

  18. #38
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    ok alors essaies un dernier truc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    foreach (DataGridViewRow row in dataGridView2.Rows)
    {
    DataGridViewRow r = (DataGridViewRow)row.Clone();
    r.Cells[0].EditedFormattedValue = row.Cells[0].EditedFormattedValue;
    r.Cells[1].EditedFormattedValue = row.Cells[1].EditedFormattedValue;
    r.Cells[2].EditedFormattedValue = row.Cells[2].EditedFormattedValue;
    r.Cells[3].EditedFormattedValue = row.Cells[3].EditedFormattedValue;
    dataGridView1.Rows.Add(r);
    }

  19. #39
    Membre actif Avatar de padodanle51
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 389
    Points : 230
    Points
    230
    Par défaut
    dsl mais ya encore une erreur:
    Erreur 1 La propriété ou l'indexeur 'System.Windows.Forms.DataGridViewCell.EditedFormattedValue' ne peut pas être assigné -- il est en lecture seule

  20. #40
    Membre habitué Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Points : 133
    Points
    133
    Par défaut
    tu as quoi comme datasource sur datagridview1?

    tu devrai prendre une List<> par exemple, et tu ajoute dans cette liste tout ce que tu veux

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. [AC-2003] Optimisation: Import Excel vers Access par batch plutot que ligne par ligne
    Par thomas.m dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/04/2011, 11h03
  2. DataGridView ligne par ligne
    Par étudiant49 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 10/04/2011, 12h53
  3. [AC-2000] Copier les donées d'une table vers une autre ligne de cette même table
    Par tibogaet dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/06/2010, 09h39
  4. copier une ligne entière d'un tableau vers un autre
    Par ktulu77 dans le forum VBA PowerPoint
    Réponses: 3
    Dernier message: 15/09/2008, 09h12
  5. copier un fichier ligne par ligne
    Par Damien B. dans le forum C
    Réponses: 2
    Dernier message: 10/05/2007, 17h33

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