Essendo all'interno di un datagrid le cose funzionano in modo leggermente diverso, il grid è già un controllo che genera eventi, fai così:
Private Sub NomeGrid_Delete(sender As Object, E As DataGridCommandEventArgs)
Dim MyCommand As SqlCommand Dim DeleteCmd As String = "Delete FROM tabella WHERE chiave = @Id"
MyCommand = New SqlCommand(DeleteCmd, Conn)
MyCommand.Parameters.Add(New SqlParameter("@Id", SqlDbType.int))
MyCommand.Parameters("@Id").Value = NomeGrid.DataKeys(CInt(E.Item.ItemIndex))
MyCommand.Connection.Open()
Try
MyCommand.ExecuteNonQuery()
lbleliminato.Visible = True
lbleliminato.text = lbleliminato.text & ItemsGrid.DataKeys(CInt(E.Item.ItemIndex)) & ""
Catch Exc As SQLException
lblnoneliminato.Visible = True
End Try
MyCommand.Connection.Close()
''''fai l'associazione dati
BindGrid()
End Sub
nel grid:
......
OnDeleteCommand="NomeGrid_Delete"
DataKeyField="chiave"
Servizio completo
Ciao