Aller au contenu
EN FR

É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.