Voilà j'ai un petit souci, j'aimerai copier ligne par ligne les données de datagridview2 vers datagridview1
Datagridview2 est relié à une base de donnée ce qui n'est pas le cas du 1
Merci de votre aide
Voilà j'ai un petit souci, j'aimerai copier ligne par ligne les données de datagridview2 vers datagridview1
Datagridview2 est relié à une base de donnée ce qui n'est pas le cas du 1
Merci de votre aide
Je ne sais pas si j'ai bien compris ton problème mais tu peux consulter les lignes de ton datagridview2 avec la propriété Rows, ensuite tu les copie et tu les ajoute dans datagridview1
ca te donnerai quelquechose du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 foreach(DataGridViewRow row in datagridview2.Rows) datagridview1.Rows.Add((DataGridViewRow)(row.Clone()));
merci je vais de suite essayer
Non ça les copie pas mais sa me créer autant de ligne que datagridview2 a. Merci quand même je crois qu'en effet ça doit etre avec clone
et si au lieu de faire Clone tu fais des new?
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["colonne1"] = row["colonne1"]; r["colonne2"] = row["colonne2"]; r["colonne3"] = row["colonne3"]; ... datagridview1.Rows.Add(r); }
oue mais à ce moment là je dois connaitre le nombre de ligne dans le résultat non?
non par contre tu dois connaitre le libellé des colonnes, mais y a surement moyen de faire un foreach...
Sa ne marche pas, regarde si je l'ai bien mis stp
foreach (DataGridViewRow row in dataGridView2.Rows)
{
DataGridViewRow r = new DataGridViewRow();
r["Designation"] = row["Designation"];
r["Fabricant"] = row["Fabricant"];
r["Collection"] = row["Collection"];
r["Type"] = row["Type"];
dataGridView1.Rows.Add(r);
}
quand tu dis "ca ne marche pas", ca ajoute des lignes vides ou ca n ajoute rien du tout?
non là c'est que il me dit que ton code a des erreurs c'est poure ça que je t'ai demandé de vérifier si moi j'avais bien tapé, je te remet mon code
foreach (DataGridViewRow row in dataGridView2.Rows)
{
DataGridViewRow r = new DataGridViewRow();
r["Designation"] = row["Designation"];
r["Fabricant"] = row["Fabricant"];
r["Collection"] = row["Collection"];
r["Type"] = row["Type"];
dataGridView1.Rows.Add(r);
}
encore merci pour tout
pour chaque colonne il medit la meme chose je te le met pour le premier
Erreur 1 Le nom 'Designation' n'existe pas dans le contexte actuel
ok c'est que j'avais pas bien mis, par contre en mettant les bon titre de colonnes voilà ce que j'ai comme erreur
Erreur 1 Impossible d'appliquer l'indexation à l'aide de [] à une expression de type 'System.Windows.Forms.DataGridViewRow'
euh... il faudrait que je teste en fait! :-)
mais le prob c que je peux pas envoyer mon code car c'est à mon entreprise lol
Je comprend pas comment la fonction clone ne fonctione pas alors qu'elle est sensé recopier exactement le code! j'essye tout les combinaison possible mais rien ne marche
donc si tu as une autre idée n'hesite pas
Donc ton code pourrais ressembler à ça :
a condition que dataGridView1 est la même structure (colonnes) que dataGridView2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 foreach (DataGridViewRow row in dataGridView2.Rows) { dataGridView1.Rows.Add(row); }
Sinon pourquoi ne pas faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part dataGridView1.DataSource = datagridView2.DataSource;
Donc j'ai essayé le premier car j'ai exactement la meme structure mais ça me retourne une erreur:
{"La ligne fournie appartient déjà à un contrôle DataGridView."}
tu sais ce que ça ve dire?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager