Editer informations datagridview dans un Form2 ?

Résolu
Gwendal3 Messages postés 60 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 15 août 2011 - 18 août 2006 à 20:34
Gwendal3 Messages postés 60 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 15 août 2011 - 20 août 2006 à 14:21
Bonjour,


Je débute dans le vb.net, j'ai recherché dans le Faq, dans le forum,
google, mais j'ai plus ou moins trouvé mais tout ne fonctionne pas.

Explications

J'ai un formulaire Form1 contenant un datagridview alimenté par un
dataset, et un bouton modifier. J'ai un autre formulaire Form2
contenant des textbox.


Lorsque je clique sur le bouton modifier, je souhaiterais:

+ Récupérer la valeur de la cellule de la colonne ID
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

Public Shared intIDVehicule As Integer
Public Shared strTypeOuverture As String

Private Sub EditerToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditerToolStripButton.Click

Dim frmAjoMod As New frmAjoModIdentiteVehicule()
Dim Nligne As Integer

'Définition du mode d'ouverture du formulaire
strTypeOuverture = "Modifier"

'Récupérer le N° Id de la table Véhicule
Nligne = Me.dgvVehicule.CurrentCell.RowIndex
intIDVehicule = Me.dgvVehicule.Rows(Nligne).Cells("ID_Vehicule").Value

frmAjoModIdentiteVehicule.ShowDialog()

End Sub

<!-- END TEMPLATE: bbcode_code -->

+ La faire passer au formulaire Form2

Ma méthode est-elle bonne ? Public Shared ?


+ Renseigner les champs
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

Dim strSql As String strSql "SELECT Tbl_Vehicule.* FROM Tbl_Vehicule WHERE Tbl_Vehicule.ID_Vehicule " & frmIdentiteVehicule.intIDVehicule & ";"

' Création du DataAdapter
Dim ObjetDataAdapter As OleDbDataAdapter = New OleDbDataAdapter(strSql, Connection)

' Création du DataSet
Dim ObjetDataSet As DataSet = New DataSet
ObjetDataAdapter.Fill(ObjetDataSet, "My_TblVehicule")

' Renseigner le ou les champs
Me.txtImmatriculation.DataBindings.Add("text", ObjetDataSet, "My_TblVehicule.Immatriculation")

<!-- END TEMPLATE: bbcode_code -->

A la première exécution du bouton modifier, mon form2 s'ouvre les
champs sont correctement remplis, je le refermes, et si je rappuie sur
le bouton modifier j'obtiens ce message
<!-- BEGIN TEMPLATE: bbcode_quote -->

Citation:
L'exception System.ArgumentException n'a pas été gérée

Message="Deux liaisons de la collection vont être liées à la même propriété.

Nom du paramètre : binding"

ParamName="binding"

Source="System.Windows.Forms"

<!-- END TEMPLATE: bbcode_quote -->
sur la ligne Me.txtImmatriculation.DataBindings.Add("text", ObjetDataSet, "My_TblVehicule.Immatriculation")

Questions

Ma méthode pour récupérer la valeur dans le datagridiview est-elle bonne ?

Existe-t-il une meilleur méthode pour le pass passage de cette valeur vers le form2 ?

Pourquoi à la deuxième ouverture du Form2 y-a-t-il une erreur ?


D'avance merci beaucoup.


Gwendal

1 réponse

Gwendal3 Messages postés 60 Date d'inscription samedi 4 mars 2006 Statut Membre Dernière intervention 15 août 2011
20 août 2006 à 14:21
Pour Info.

J'ai modifié
' Renseigner le ou les champs
Me.txtImmatriculation.DataBindings.Add("text", ObjetDataSet, "My_TblVehicule.Immatriculation")

Par
' Renseigner le ou les champs
Me.txtImmatriculation.Text = ObjDataTable.Rows(0).Item("Immatriculation").ToString
3
Rejoignez-nous