XmlEvent.Changing Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.