Événements DataSetManager
Statut documentaire : guide — voir Maturité et preuves.
Le cache de données de page est réactif. Les événements DataSetManager indiquent à la page qu’une surface de données s’ouvre, se rafraîchit, navigue, s’édite, se poste, s’annule, échoue ou se synchronise. Ils décrivent d’abord l’état du cache de vue et ne deviennent événements applicatifs ou métier qu’après escalade explicite.
Chaîne d’événements
interaction utilisateur/composant
-> DataSource / DataSet / DataCursor
-> événement DataSetManager
-> PageControler / PageModel
-> ObjectBehind de composant ou action de page
-> action applicative éventuelle
-> frontière provider/service éventuelle
Familles utiles
Cycle de vie : avant/après ouverture, avant/après refresh, échec de chargement. Navigation : changement d’objet/cursor courant. Édition : champ modifié, avant post, après post, annulation, insertion/suppression si supportées. Synchronisation : sync provider démarrée/terminée/échouée.
Validation avant post
Utiliser un événement before-post comme point de contrôle. Le handler inspecte le DataSet courant, peut autoriser/refuser le post et fournir un message de diagnostic. L’événement n’est qu’un hook ; la validation métier réutilisable doit rester dans l’action/le modèle lorsqu’elle doit aussi s’appliquer hors de la page.
Rafraîchissement après post
Après un post réussi, rafraîchir les DataSets dépendants, recalculer le statut de page, mettre à jour les actions disponibles ou repositionner le curseur. Garder cela local lorsque seule la cohérence de la vue est concernée. Émettre un événement applicatif/métier seulement lorsque le post a une signification de domaine.
Filtres et recherche
Un petit DataSet de filtre peut contenir les critères locaux pendant qu’un DataSet résultat est alimenté par un provider. Debouncer les entrées fréquentes et ne requêter le provider qu’à une frontière de recherche déclarée.
Payload d’événement
Préférer un contexte explicite : source/sender, nom du DataSet, DataSource, curseur et valeurs mutables comme CanPost, message ou drapeau d’arrêt de propagation. Un handler ne devrait pas déduire le DataSet actif depuis un état visuel sans rapport.