FormEvents.Loading Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Ocurre después de haber cargado una plantilla de formulario, pero antes de inicializar alguna vista.
public:
abstract event Microsoft::Office::InfoPath::LoadingEventHandler ^ Loading;
public abstract event Microsoft.Office.InfoPath.LoadingEventHandler Loading;
member this.Loading : Microsoft.Office.InfoPath.LoadingEventHandler
Public MustOverride Custom Event Loading As LoadingEventHandler
Tipo de evento
Excepciones
El programador intentó enlazar el evento en una ubicación que no es el método InternalStartup.
Ejemplos
En el siguiente ejemplo, el controlador de eventos del evento Loading se usa para determinar si el formulario tiene firma digital y, si no es así, se establece el campo Date1 en la fecha actual.
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
Comentarios
Importante: El evento Loading no está pensado para que el desarrollador cree una instancia en el código de formulario. Solo debe agregar controladores de eventos para eventos de nivel de formulario desde la interfaz de usuario del modo de diseño de Microsoft InfoPath. Al agregar un controlador de eventos a la plantilla de formulario desde la interfaz de usuario del modo de diseño, InfoPath genera código en el método InternalStartup del archivo de código de formulario mediante la EventManager clase y el miembro de la FormEvents clase para enlazar el evento a su controlador de eventos. Para obtener información sobre cómo agregar controladores de eventos en el modo de diseño de InfoPath, vea Cómo agregar un controlador de eventos.
El evento Loading se enlaza mediante el LoadingEventHandler delegado.
El evento Loading se produce antes de que se cargue el formulario y se presente la vista.
Si una plantilla de formulario se implementa y se abre desde una biblioteca de documentos configurada correctamente en SharePoint Server 2010 que ejecuta InfoPath Forms Services, el evento Loading solo se produce una vez por sesión.
El evento Loading se puede cancelar mediante la CancelableArgs propiedad de la SaveEventArgs clase para establecer la propiedad Cancel en true.
Nota: Cuando se produce el evento Loading , la vista no se inicializa y la transformación XSL (XSLT) usada para la vista aún no se ha cargado. El XmlForm objeto no se agrega a la XmlFormCollection colección hasta que se ha producido el evento Loading . Sin embargo, el objeto XmlForm estará disponible durante el evento Loading.
En el controlador de eventos Loading no se pueden hacer llamadas a los siguientes métodos y propiedades:
GetContextNodes(XPathNavigator)
Las llamadas a los miembros de las AdoSubmitConnectionclases , EmailSubmitConnectiono FileSubmitConnection no se pueden realizar en el controlador de eventos Loading .
Se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler o en un explorador web.