Transfert de données datagridview

Signaler
Messages postés
45
Date d'inscription
mercredi 30 décembre 2009
Statut
Membre
Dernière intervention
2 avril 2014
-
Messages postés
9
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
10 février 2010
-
Bonjour a tous ,

Voila j'ai une petite question , je bloque sur un petit truc car je pense qu'il y a une option toute bête .

J'ai 2 form avec dans chacune une datagridview , et j'aimerai quand je selectionne la ligne complete d'une , que les données de la ligne selectionné ce transfert a l'autre datagridview .

J'ai essayé ceçi :

        Form2.DataGridView1(0, wcptl).Value = Dataprod.Item(0, wcptl).Value
        Form2.DataGridView1(1, wcptl).Value = Dataprod.Item(1, wcptl).Value
        Form2.DataGridView1(2, wcptl).Value = Dataprod.Item(2, wcptl).Value


3 lignes de codes , car je veus transferer les valeurs de 3 colonnes.
form2.data .... c'est dans cet form que je veus les données .

D'avance merci pour votre aide

5 réponses

Messages postés
9
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
10 février 2010

Tu as un message d'erreur ? ton déclencheur ne se lance pas ? les données ne se recopient pas ?

Tes 2 datagridview ont le même nombre de lignes et les colonnes correspondent ?
Messages postés
45
Date d'inscription
mercredi 30 décembre 2009
Statut
Membre
Dernière intervention
2 avril 2014

Voiçi le message d'erreur :

L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : index

donc non les données ce se recopient pas .

Et les 2 datagridview sont différentes , mais cela ne joue pas .
Messages postés
9
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
10 février 2010

1er test à faire :
if wcptl >= 0 then
...
end if
sinon quand tu vas cliquer sur un nom de colonne tu vas ce genre de message

Ensuite ton code nécessite que le nombre de lignes soit égal dans les 2 tableaux (si on clique sur la ligne 10 tu modifies la ligne 10)
Messages postés
45
Date d'inscription
mercredi 30 décembre 2009
Statut
Membre
Dernière intervention
2 avril 2014

Pour le nombre de ligne justement , si je selectionne la ligne 15 la ou il y a mes infos , je veus qu'elle aille la ou je l'aurai selectionné dans l'autre datagridview et non pas en position 15 .
Mais cela n'est pas mon probléme , je veux juste savoir comment transferer une ligne d'un datagridview à un autre datagridview .
Messages postés
9
Date d'inscription
mardi 29 avril 2003
Statut
Membre
Dernière intervention
10 février 2010

Dans ton code tu utilises la même variable pour ta ligne d'origine et ta ligne de destination. Il faut que crées les variables suivantes

dim ligneO as Integer = Dataprod.SelectedRows.Item(0).Index
dim ligneD as Integer = Form2.DataGridView1.SelectedRows.Item(0).Index

ensuite :
Form2.DataGridView1(0, ligneD).Value = Dataprod.Item(0, ligneO).Value
Form2.DataGridView1(1, ligneD).Value = Dataprod.Item(1, ligneO).Value
Form2.DataGridView1(2, ligneD).Value = Dataprod.Item(2, ligneO).Value