[VB.net] Mise à jour d'un datagrid
Bonjour à tous,
Sur une form, j'ai un datagrid que je remplis au travers de oleDB:
Code:
1 2 3
| Private ds As New DataSet
Private con As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & LireINI("Files", "path_access") & "\dep.mdb")
Private da As OleDb.OleDbDataAdapter |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| 'Remplissage du datagrid avec les données de la table access
da = New OleDb.OleDbDataAdapter("select * from services", con)
Dim dc As New OleDb.OleDbCommand
dc.CommandText = "select * from services"
da.UpdateCommand = dc
da.Fill(ds)
DataGrid1.DataSource = ds.Tables(0)
'Blocage des fonctions ajout et édition du datagrid
Dim cm As CurrencyManager = Me.BindingContext(DataGrid1.DataSource, DataGrid1.DataMember)
Dim dv As DataView = CType(cm.List, DataView)
dv.AllowNew = False
dv.AllowEdit = False |
Une des colonnes affichées est un compteur (champ number ds la base)
En sélectionnant une ligne et en appuyant sur un bouton, je voudrais remettre à zéro ce champs:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Remettre le compteur à zéro
Dim i As Integer
For i = 0 To ds.Tables(0).Rows.Count - 1
If DataGrid1.IsSelected(i) Then
Dim strRequest = "UPDATE services SET cpt = 0 WHERE service = '" & DataGrid1.Item(i, 0) & "'"
oRecordSet = oConnection.Execute(strRequest)
End If
Next i
da.update()
DataGrid1.Refresh()
End Sub |
Malheureusement mon affiche n'est pas actualisé. Je ne vois pas trop ce qu'il manque pour que ma mise à jour soit visible. Si je ferme et réouvre l'écran, le changement est bien affiché.
Merci d'avance pour vos réponses.