cs_Xzander
Messages postés8Date d'inscriptionlundi 1 août 2005StatutMembreDernière intervention 9 août 2006
-
15 août 2005 à 17:41
cs_Xzander
Messages postés8Date d'inscriptionlundi 1 août 2005StatutMembreDernière intervention 9 août 2006
-
16 août 2005 à 16:01
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.
Bref, ici, je cherche vraiment un moyen d'intercepter l'exception.
scortex84
Messages postés379Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention20 avril 20111 16 août 2005 à 10:50
Hello ! Pourquoi ne pas essayer avec un banal Try / catch sur le keypress ?
Try
ton code...
catch (tu peux meme rajouter ex as exception pour recuperer le numero de l'exception, et le gerer)
msgbox ("pas bien !")
finally
ton code... (pas obligé...)
end try
cs_Xzander
Messages postés8Date d'inscriptionlundi 1 août 2005StatutMembreDernière intervention 9 août 2006 16 août 2005 à 16:01
Bonne idée scortex84, mais comment faire pour déterminer si l'utilisateur a bien sélectionné une ligne et qu'il n'est pas simplement entrain de modifier la valeur d'un des champs?