Gwendal3
Messages postés60Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention15 août 2011
-
18 août 2006 à 20:34
Gwendal3
Messages postés60Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention15 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 ?