exactement datasource=ds,
je t'explique bien;
j'ai un combox box je sélectionne un N° il m'affichre tt les données dans le datagridwiew puis je modife
Version imprimable
exactement datasource=ds,
je t'explique bien;
j'ai un combox box je sélectionne un N° il m'affichre tt les données dans le datagridwiew puis je modife
Et DataMember ?
Il y a une seule table ou plusieurs dans ton DataSet ?
S'il n'y en a qu'une, tu peux faire ça :
Code:
1
2
3
4
5
6
7
8
9
10
11
12 Dim da As New SqlDataAdapter("select * from DET_DEVIS", con) 'Pour modifier les valeurs changées dans le DataAdapter Dim commandebl As New SqlCommandBuilder(da) 'Mise à jour da.Update(ds.Tables(0)) 'Inutile, tu peux supprimer ça... 'On vide le DataSet et on le 'recharge' de nouveau. 'ds.Clear() 'da.Fill(ds, "DET_DEVIS") 'Me.DataGridView1.DataSource = ds.Tables("DET_DEVIS")
oui j'ai un seul table det_devis autre chose votre code ça marche pas il me donne l'erreur suivant:Citation:
impossible de trouver la table 0
je met ce code
mais ile me donne l'erreur suivant:Code:
1
2
3
4
5 Dim da As New SqlDataAdapter("select * from DET_DEVIS", con) 'Pour modifier les valeurs changées dans le DataAdapter Dim commandebl As New SqlCommandBuilder(da) 'Mise à jour da.Update(ds.Tables("DET_DEVIS"))
Npm des paramèttre Datatable.Citation:
la valeur ne peut pas être null.
Merci d'avance
Tu veux vraiment pas répondre à cette question on dirait :?
Ca veut dire qu'il n'y a aucune table dans ton dataset... donc ton DataGridView n'est relié à rien du tout
Pareil, la table DET_DEVIS n'existe pas dans le DataSet.
Bon, on reprend de zéro...
Si je comprends bien, tu veux afficher dans un DataGridView les données d'une table. L'utilisateur peut modifier ces données dans le DataGridView, et quand il a fini on enregistre les modifications dans la base.
Donc pour commencer, il faut charger les données et lier le DataGridView à ces données, lors du chargement de la Form :
A partir de là, les données chargées sont affichées dans la grille, et quand l'utilisateur modifie les données affichées, ces modifications sont répercutées sur la DataTable.Code:
1
2
3
4
5
6
7
8
9
10 ' On ajoute une table au DataSet ds.Tables.Add("DET_DEVIS") ' On remplit la table Dim da As New SqlDataAdapter("select * from DET_DEVIS", con) da.Fill(ds, "DET_DEVIS") ' On l'associe au DataGridView DataGridView1.DataSource = ds DataGridView1.DataMember = "DET_DEVIS"
Il reste juste à enregistrer ces modifications en les reportant dans la base de données :
Si tu fais tout ça, normalement ça devrait marcher...Code:
1
2
3 Dim da As New SqlDataAdapter("select * from DET_DEVIS", con) Dim builder As New SqlCommandBuilder(da) da.Update(ds, "DET_DEVIS")
vraiment je suis désolé mais ce code ça marche pas
je t'explique
j'ai fait la modification ce que je veux et quand je click sur le button modifier il me remplir la datagridview de la table det_devis mais sans modification
je n'ai rien compris de ce que tu as dit :?
les 2 bouts de code dans mon post précédent, tu les as mis où ?
votre code il ne fait aucune modification et autre chose la source de donnée est vide :oops:
voici le code
ce code marche très bien mais après 3 jour il marche pas je sai pas ce qu'est ce passeCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Try Dim build As New SqlCommandBuilder con.Open() cmd1 = New SqlCommand("select * from MAJ1", con) cmd1.ExecuteNonQuery() build.DataAdapter = da da.SelectCommand = cmd1 da.Update(ds, "MAJ1") Me.DataGridView1.DataSource = ds.Tables("MAJ1") MsgBox("Modificatiion est bien effectuer") con.Close() Catch ex As Exception MsgBox(ex.Message) End Try
Désolé, mais si tu ne réponds jamais aux questions que je pose pour essayer de t'aider, moi je laisse tomber...