XmlEvent.Changing Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt ein, nachdem Änderungen an einem Formular zugrunde liegenden XML-Dokument vorgenommen wurden, jedoch bevor diese angenommen wurden.
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
Ereignistyp
Ausnahmen
Es wurde versucht, das Ereignis an einen Knoten der sekundären Datenquelle zu binden. Dieses Ereignis wird für sekundäre Datenquellen nicht unterstützt.
Beispiele
Wenn im folgenden Beispiel eine Änderung an field2 vorgenommen wird, wird das Changing-Ereignis ausgelöst, und ein FormError Objekt für field1 wird der FormErrorCollection des Formulars mithilfe der Add(XPathNavigator, String, String, String) -Methode der FormErrorCollection-Klasse hinzugefügt.
Auf diese Weise erfolgt die Zuordnung einer Fehlermeldung zu field1. Die als message
Parameter der Add-Methode übergebene Zeichenfolge wird in einer Bildschirmtipp angezeigt, wenn der Benutzer den Mauszeiger über "field1" bewegt. Wenn der Benutzer mit der rechten Maustaste auf field1 klickt und dann auf Vollständige Fehlerbeschreibung klickt, zeigt InfoPath die vollständige Fehlermeldung an, einschließlich der Zeichenfolge, die messageDetails
als Parameter der Add-Methode übergeben wird.
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
Hinweise
Wichtig: Das Changing-Ereignis soll nicht vom Entwickler im Formularcode instanziiert werden. Wenn Sie Ihrer Formularvorlage über die Benutzeroberfläche des Entwurfsmodus einen Ereignishandler hinzufügen, generiert Microsoft InfoPath Code in der InternalStartup-Methode Ihrer Formularcodedatei mithilfe der EventManager -Klasse und des Members der XmlEvent -Klasse, um Ereignisse auf Dokumentebene an ihre Ereignishandler zu binden. Weitere Informationen zum Hinzufügen von Ereignishandlern im InfoPath-Entwurfsmodus finden Sie unter Vorgehensweise: Hinzufügen eines Ereignishandlers.
Das Changing-Ereignis wird mithilfe des XmlChangingEventHandler Delegaten gebunden.
Dieser Ereignishandler lässt es zu, dass Benutzer einen Vorgang abbrechen.
Während des Changing-Ereignisses wird das dem Formular zugrunde liegende XML-Dokument in den Schreibschutzmodus versetzt. Wird die XmlChangingEventArgs.CancelableArgs.Cancel-Eigenschaft auf true festgelegt, werden die vorgenommenen Änderungen von InfoPath abgelehnt, und dem Benutzer wird ein Meldungsfeld angezeigt. Wenn ein Fehler im Code für das Changing-Ereignis auftritt, werden die Änderungen von InfoPath abgelehnt und die Daten im vorherigen Zustand wieder hergestellt.
Hinweis: Es empfiehlt sich, den Wechsel der Ansichten während des Changing-Ereignisses zu vermeiden. Änderungen wurden noch nicht akzeptiert, und der Wechsel zu einer anderen Ansicht kann zu einem Fehler führen.
Auf diesen Typ oder dieses Mitglied kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler geöffnet wurden.