Bonjour! J'ai une question à propos de la gestion d'exceptions en VB.NET.
Mise en contexte:
L'utilisateur ouvre une feuille sur laquelle il y a un contrôle DataGrid ainsi qu'un bouton "Retour". Le contrôle DataGrid a un ColumnHeader un un RowHeader. La table liée au DataGrid a une relation un à plusieurs avec une autre table dont elle est le parent. Les règles d'intégrité référentielle sont .none afin d'empêcher la suppression d'une ligne parente sans avoir préalablement supprimé les lignes enfant.
Mise en situation:
L'utilisateur clique sur une RowHeader du contrôle DataGrid, sélectionnant une ligne. Il appuie sur la touche Delete (Supprime) du clavier. Une ViolatedConstraint Exception est lancée.
Question:
Comment intercepter cette exception pour ensuite envoyer un Message Box à l'utilisateur afin de le prévenir que son action est impossible et ensuite annuler son action de supression.
Afin de compliquer la tâche:
- C'est en fait un DataView de la table qui est lié au contrôle DataGrid.
- Le DataView voit sa propriété AllowDelete à true.
- Il ne faut pas empêcher l'utilisateur d'appuyer sur la touche Delete (Supprime) puisqu'il peut en avoir besoin pendant qu'il édite un des champs du contrôle DataGrid. (On ne peut donc pas simplement utiliser l'événement keydown de Delete et annuler l'événement puisque l'utilisateur peut avoir besoin de supprimer des caractères)
Bref, ici, je cherche vraiment un moyen d'intercepter l'exception.
Merci!