Partager via


XmlEvent.Changing Événement

Définition

Se produit après que des modifications ont été apportées au document XML sous-jacent d'un formulaire mais avant qu'elles aient été acceptées.

public:
 abstract event Microsoft::Office::InfoPath::XmlChangingEventHandler ^ Changing;
public abstract event Microsoft.Office.InfoPath.XmlChangingEventHandler Changing;
member this.Changing : Microsoft.Office.InfoPath.XmlChangingEventHandler 
Public MustOverride Custom Event Changing As XmlChangingEventHandler 

Type d'événement

Exceptions

Le développeur a tenté de lier l'événement à un nœud dans la source de données secondaire. Cet événement n'est pas pris en charge pour les sources de données secondaires.

Exemples

Dans l’exemple suivant, lorsqu’une modification est apportée à field2, l’événement Changing est déclenché et un FormError objet pour field1 est ajouté à la FormErrorCollection du formulaire à l’aide de la Add(XPathNavigator, String, String, String) méthode de la classe FormErrorCollection .

Cet exemple associe un message d'erreur à field1. La chaîne passée en tant que message paramètre de la méthode Add s’affiche dans un conseil d’écran lorsque l’utilisateur pointe sur field1. Lorsque l’utilisateur clique avec le bouton droit sur field1 , puis clique sur Description complète de l’erreur, InfoPath affiche le message d’erreur complet, y compris la chaîne transmise en tant que messageDetails paramètre de la méthode Add .

public void field2_Changing(object sender, XmlChangingEventArgs e)
{
   XPathNavigator errNode = 
      this.CreateNavigator().SelectSingleNode("/my:myFields/my:field1", 
      NamespaceManager);
   this.Errors.Add(errNode, "Field2Changing", 
      "The Changing event occurred for Field2.", 
      "Changes were made to Field2, but have not yet been accepted.");
}
Public Sub field2_Changing(ByVal sender As Object, _
   ByVal e As XmlChangingEventArgs)
   Dim errNode As XPathNavigator = Me.CreateNavigator(). _
      SelectSingleNode("/my:myFields/my:field1", NamespaceManager)
   Me.Errors.Add(errNode, "Field2Changing", _
      "The Changing event occurred for Field2.", _
      "Changes were made, but have not yet been accepted.")
End Sub

Remarques

Important : l’événement Changing n’est pas destiné à être instancié par le développeur dans le code du formulaire. Lorsque vous ajoutez un gestionnaire d’événements à votre modèle de formulaire à partir de l’interface utilisateur en mode Création, Microsoft InfoPath génère du code dans la méthode InternalStartup de votre fichier de code de formulaire à l’aide de la EventManager classe et du membre de la XmlEvent classe pour lier des événements au niveau du document à leurs gestionnaires d’événements. Pour plus d'informations sur l'ajout de gestionnaires d'événements en mode Création dans InfoPath, consultez Procédure : Ajouter un gestionnaire d'événements.

L’événement Changing est lié à l’aide du XmlChangingEventHandler délégué.

Ce gestionnaire d'événements permet aux utilisateurs d'annuler une opération.

Pendant l'événement Changing, le document XML sous-jacent du formulaire est mis en mode lecture seule. Si la propriété XmlChangingEventArgs.CancelableArgs.Cancel est affectée de la valeur true, InfoPath refuse les modifications apportées et un message est affiché à l'intention de l'utilisateur. Si une erreur se produit dans le code de l'événement Changing, InfoPath rejette les modifications et rétablit l'état précédent des données.

Remarque : Il est préférable d’éviter de changer d’affichage pendant l’événement Changing . les modifications n’ont pas encore été acceptées, et le passage à une autre vue peut entraîner une erreur.

Vous pouvez uniquement accéder à ce type ou à ce membre à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler.

S’applique à