FormEvents.Loading-Ereignis
Tritt ein, nachdem die Formularvorlage geladen, jedoch bevor eine Ansicht initialisiert wurde.
Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in Microsoft.Office.InfoPath.dll)
Syntax
'Declaration
Public MustOverride Event Loading As LoadingEventHandler
'Usage
Dim instance As FormEvents
Dim handler As LoadingEventHandler
AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading
Ausnahmen
Ausnahme | Bedingung |
---|---|
InvalidOperationException | Es wurde versucht, das Ereignis an einen anderen Speicherort als die InternalStartup-Methode zu binden. |
Hinweise
Wichtig
Das Loading-Ereignis sollte nicht vom Entwickler im Formularcode instanziiert werden. Ereignishandler für Ereignisse auf Formularebene sollten nur über die Microsoft InfoPath-Entwurfsmodus-Benutzeroberfläche hinzugefügt werden. Wenn Sie der Formularvorlage über die Entwurfsmodus-Benutzeroberfläche einen Ereignishandler hinzufügen, wird in InfoPath mithilfe der EventManager-Klasse und des Members der FormEvents-Klasse in der InternalStartup-Methode der Formularcodedatei Code generiert, um das Ereignis an den zugehörigen Ereignishandler zu binden. Weitere Informationen zum Hinzufügen von Ereignishandlern im InfoPath-Entwurfsmodus finden Sie unter Vorgehensweise: Hinzufügen eines Ereignishandlers.
Die Bindung des Loading-Ereignisses erfolgt mithilfe des LoadingEventHandler-Delegaten.
Das Loading-Ereignis tritt ein, bevor das Formular geladen und die Ansicht gerendert wird.
Wenn eine Formularvorlage in SharePoint Server 2010 mit InfoPath Forms Services bereitgestellt und von dort aus oder von einer entsprechend konfigurierten Dokumentenbibliothek geöffnet wird, tritt das Loading-Ereignis nur einmal pro Sitzung auf.
Das Loading-Ereignis kann mithilfe der CancelableArgs-Eigenschaft der SaveEventArgs-Klasse abgebrochen werden, um die Cancel-Eigenschaft auf true festzulegen.
Hinweis
Wenn das Loading-Ereignis eintritt, wird die Ansicht nicht initialisiert, und die für die Ansicht verwendete XSL-Transformation (XSLT) wird noch nicht geladen. Das XmlForm-Objekt wird erst zur XmlFormCollection-Auflistung hinzugefügt, nachdem das Loading-Ereignis eingetreten ist. Das XmlForm-Objekt ist jedoch während des Loading-Ereignisses verfügbar.
Aufrufe der folgenden Methoden und Eigenschaften sind im Loading-Ereignishandler nicht möglich:
Aufrufe der Member der Klassen AdoSubmitConnection, EmailSubmitConnection oder FileSubmitConnection sind im Loading-Ereignishandler nicht möglich.
Auf diesen Typ oder dieses Mitglied kann über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler oder in einem Webbrowser geöffnet wurden.
Beispiele
Im folgenden Beispiel wird mithilfe des Ereignishandlers für das Loading-Ereignis bestimmt, ob das Formular digital signiert und das Feld Date1 auf das aktuelle Datum festgelegt wurde.
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
if (this.Signed)
{
e.CancelableArgs.Message =
"This form is digitally signed. Loading is cancelled.";
e.CancelableArgs.Cancel = true;
}
XPathNavigator myDate =
CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
NamespaceManager);
// Check for and delete xsi:nil="true" attribute.
if (myDate.MoveToAttribute("nil",
"http://www.w3.org/2001/XMLSchema-instance"))
{
myDate.DeleteSelf();
}
myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
}
Public Sub FormEvents_Loading(ByVal sender As Object, _
ByVal e As LoadingEventArgs)
If (Me.Signed)Then
e.CancelableArgs.Message =
"This form is digitally signed. Loading is cancelled."
e.CancelableArgs.Cancel = True
End If
Dim myDate As XPathNavigator =
CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
NamespaceManager)
' Check for and delete xsi:nil="true" attribute.
If (myDate.MoveToAttribute("nil",
"http://www.w3.org/2001/XMLSchema-instance"))
myDate.DeleteSelf();
End If
myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
End Sub