Gestion des événements, édition d'un datagridview
bonjour à vous tous,
J'ai une saisie d'une transaction à faire sur une ligne d'un datagridview qui comporte une vingtaine de colonnes dont seulement une dizaine sont utilisées pour cette saisie.En fonction du code produit, saisi dans la première cellule, j'ouvre ou ferme les cellules autorisées, et notifie l'obligation de saisie en colorant les cellules en question.
Pour récupérer le code saisi en cellule 0, j'intercepte la première utlisation du clavier par .EditingControlShowing qui me permert de relever la donnée:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
Private Sub liste_titres_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles liste_titres.EditingControlShowing
' recoit le premier caractére de la colonne 0, caractére précisant le type de la transaction et donc le compte du portefeuille
If prochaine_saisie_type_titres = True And handler_titres_added = False Then
AddHandler DirectCast(e.Control, TextBox).KeyPress, AddressOf Controle_type_titres
handler_titres_added = True
Exit Sub
End If
' une erreur de saisie a donné lieu à un message d'erreur, le caractére erroné a été éffacé, la saisie doit
' être faite, ne rien changer à l'état du handler
If prochaine_saisie_type_titres = False And handler_titres_added = True Then
handler_titres_added = False
RemoveHandler DirectCast(e.Control, TextBox).KeyPress, AddressOf Controle_type_titres
End If
End Sub |
Si l'utilisateur souhaite abandonner la saisie en cours, un bouton KO est à sa disposition.
Mon souci!!!!
Si cet abandon est décidé avant la saisie du code transaction, le handler est toujours activé:
Code:
1 2 3 4 5 6 7 8
|
Private Sub Controle_type_titres(ByVal sender As Object, ByVal e As KeyPressEventArgs)
ici est éffectué le traitement logique du code transaction
End Sub |
Pour retirer le handler de la circulation il faut que je génére un évenement clavier qui va pouvoir être intercepté et ainsi réinitialiser le processus de saisie.
Google est bien mon ami, developpez.com ma source favorite et pourtant je bloque.
Un ame charitable pourrait-elle m'aider?
Merci à tous et à +