Annuler les modifications

De RAD Studio
Aller à : navigation, rechercher

Remonter à Edition des données


Même si la version originale d’un enregistrement reste inchangée dans la propriété Data, l’utilisateur voit la toute dernière version de l’enregistrement à chaque fois qu’il modifie l’enregistrement, le laisse et le sélectionne à nouveau. Si un utilisateur ou une application modifie plusieurs fois un enregistrement, chaque version de l’enregistrement est stockée dans une entrée différente du journal de modifications.

La possibilité de stocker chaque modification apportée à un enregistrement permet de supporter les opérations d’annulation à plusieurs niveaux :

  • Pour annuler la dernière modification apportée à un enregistrement, appelez UndoLastChange. UndoLastChange accepte un paramètre booléen, FollowChange, qui indique si le curseur doit être repositionné sur l’enregistrement restauré (True) ou s’il doit être laissé sur l’enregistrement en cours (False). Si un enregistrement a subi plusieurs modifications, chaque appel à UndoLastChange annule un niveau de modification. UndoLastChange renvoie une valeur booléenne indiquant si l'annulation a réussi ou échoué. En cas de réussite, UndoLastChange renvoie True. Utilisez la propriété ChangeCount pour déterminer si d’autres modifications doivent être annulées. ChangeCount indique le nombre de modifications stockées dans le journal de modifications.
  • Plutôt que de supprimer chaque niveau de modification l’un après l’autre, vous pouvez les supprimer tous en une seule fois. Pour supprimer toutes les modifications apportées à un enregistrement, sélectionnez-le et appelez RevertRecord. RevertRecord supprime toutes les modifications apportées à l’enregistrement en cours.
  • Pour restaurer un enregistrement supprimé, définissez d'abord la propriété StatusFilter par [usDeleted], ce qui rend "visibles" les enregistrements supprimés. Ensuite, naviguez jusqu'à l'enregistrement que vous voulez restaurer et appelez RevertRecord. Enfin, restaurez la propriété StatusFilter en [usModified, usInserted, usUnmodified] de sorte que la version modifiée de l'ensemble de données (contenant maintenant l'enregistrement restauré) soit à nouveau visible.
  • A tout moment pendant les modifications, vous pouvez enregistrer l’état courant du journal de modifications à l’aide de la propriété SavePoint. La lecture de SavePoint renvoie un marqueur à la position courante dans le journal de modifications. Ultérieurement, si vous souhaitez annuler toutes les modifications opérées depuis la lecture du point de sauvegarde, attribuez à SavePoint la valeur lue. Votre application peut obtenir des valeurs pour plusieurs points de sauvegarde. Toutefois, lorsque vous sauvegardez le journal de modifications au niveau d’un point de sauvegarde, les valeurs de tous les points de sauvegarde postérieurement lues par votre application ne sont plus valides.
  • Toutes les modifications enregistrées dans le journal de modifications peuvent être abandonnées en appelant CancelUpdates. CancelUpdates efface le journal de modifications et annule tous les changements apportés à l’ensemble des enregistrements. CancelUpdates doit être employée avec précaution. Après avoir appelé la méthode CancelUpdates, il est impossible de récupérer les modifications.

Voir aussi