Comment effectuer un update de ma base de donnée suite à une coche d'un checkbox dans un datagridview en vb.ne
Bonjour,
je suis débutant en visual basic et depuis plusieurs jours je suis bloqué sur une action qui parait simple mais dont je n'arrive à mettre en oeuvre.
J'utilise un datagridview en relation avec une table de ma base de donnée. J'ai une colonne qui est composée de checkbox.
J'ai réussi à effectuer la mise à jour de la base suite à l'ajout d'une ligne, la modification d'une cellule, mais pour la checkbox, je voudrait que la mise à jour s'effectue uniquement par la coche ou décoche sans avoir besoin de valider par "enter".
Là je suis bloqué, je n'arrive pas à effectuer cette mise à jour directement. Si vous avez une piste je suis preneur.
Voici le code que j'utilise en relation avec ma base de donnée locale SQL Server :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
Imports System.Data.SqlClient
Public Class Form1
Dim sCommand As SqlCommand
Dim sAdapter As SqlDataAdapter
Dim sBuilder As SqlCommandBuilder
Dim sDs As DataSet
Dim sTable As DataTable
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
sAdapter.Update(sTable)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\André\source\repos\WindowsApp3\WindowsApp3\bin\Debug\Database1.mdf;Integrated Security=True;Connect Timeout=30"
Dim sql As String = "SELECT * FROM Stores"
Dim connection As New SqlConnection(connectionString)
connection.Open()
sCommand = New SqlCommand(sql, connection)
sAdapter = New SqlDataAdapter(sCommand)
sBuilder = New SqlCommandBuilder(sAdapter)
sDs = New DataSet()
sAdapter.Fill(sDs, "Stores")
sTable = sDs.Tables("Stores")
connection.Close()
DataGridView1.DataSource = sDs.Tables("Stores")
End Sub
Private Sub DataGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView1.SelectionChanged
sAdapter.Update(sTable)
End Sub
Private Sub DataGridView1_CurrentCellDirtyStateChanged(sender As Object, e As EventArgs) Handles DataGridView1.CurrentCellDirtyStateChanged
DataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit)
End Sub
Private Sub DataGridView1_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
If e.ColumnIndex = 2 Then
'Passe bien par là mais n'effectue pas le update!
sAdapter.Update(sTable)
MsgBox("Passage")
End If
End Sub
End Class |
Je vous remercie par avance pour toutes l'aides que vous prouvez m'apporter.