Cómo cambiar mediante programación la vista predeterminada de un formulario de InfoPath

Seleccione idioma Seleccione idioma
Id. de artículo: 826997 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Formularios de Microsoft Office InfoPath admiten varias vistas. Una vista es la vista predeterminada. Cuando abre un formulario en Microsoft InfoPath 2010, Microsoft Office InfoPath 2007 o Microsoft Office InfoPath 2003, abra el formulario en la vista predeterminada. Este artículo contiene un ejemplo de cómo cambiar mediante programación la vista predeterminada de un formulario de InfoPath.

Crear un nuevo formulario

  1. Iniciar InfoPath.
    • Para 2010 del Diseñador de InfoPath:
      1. Haga clic en nuevo, haga clic en Formulario en blanco y, a continuación, haga clic en Diseñar formulario.
    • Para InfoPath 2007:
      1. En el menú archivo, haga clic en diseñar una plantilla de formulario.
      2. Haga clic en blanco en el panel de tareas diseñar una plantilla de formulario y, a continuación, haga clic en Aceptar.
    • Para InfoPath 2003:
      1. En el menú archivo, haga clic en diseñar un formulario.
      2. Haga clic en Nuevo formulario en blanco en el panel de tareas diseñar un formulario.

Crear vista 1

Para InfoPath 2010:
  1. En el formulario en blanco, escriba Esto es vista 1 para el título y escriba Buscar para mostrar vista 2 cuando se abre el formulario debajo de la línea punteada.
  2. Haga clic para colocar el puntero al principio de la segunda línea.
  3. En controles, haga doble clic en casilla de verificación.
  4. Haga clic en el icono de Guardar.
Para InfoPath 2007 y en InfoPath 2003:
  1. En el formulario en blanco, escriba Esto es vista 1 en la primera línea y, a continuación, escriba Buscar para mostrar vista 2 cuando se abre el formulario en la segunda línea.
  2. Haga clic para colocar el puntero al principio de la segunda línea.
  3. En el menú desplegable del Panel de tareas, haga clic en controles.
  4. En el panel de tareas controles, haga clic en casilla de verificación.
  5. Haga clic en el icono de Guardar.

Crear vista 2

Para InfoPath 2010:
  1. Haga clic en la ficha Diseño de página que vista 1 es la vista predeterminada para el formulario de aviso.
  2. En la sección vistas, haga clic en Nueva vista.
  3. Escriba el nombre 2 de la vista y, a continuación, haga clic en Aceptar.
  4. Para el título, escriba que esto es vista 2.
Para InfoPath 2007 y en InfoPath 2003:
  1. En el menú desplegable del Panel de tareas, haga clic en vistas.

    Vista 1 es la vista predeterminada para el formulario.
  2. En sección de acciones del panel de tareas, haga clic en Agregar una nueva vista.
  3. Escriba el nombre 2 de la vista y, a continuación, haga clic en Aceptar.
  4. En el formulario en blanco, escriba que esto es vista 2.

Agregar la secuencia de comandos

InfoPath 2007

En InfoPath 2010 y 2007, debe establecer el lenguaje de programación que desea utilizar. Para InfoPath 2003, omitir este procedimiento y, a continuación, utilice el procedimiento Agregar la secuencia de comandos.

Nota En este ejemplo se utiliza el lenguaje de programación de C#. Puede utilizar Visual Basic u otras opciones disponibles.
Establecer el lenguaje de programación
Para InfoPath 2010:

Antes de ejecutar esta secuencia de comandos de ejemplo en 2010 de InfoPath, debe cambiar el lenguaje de programación a C#. Para ello, siga estos pasos.

Advertencia El comando Quitar código que se menciona en los siguientes pasos quita todo el código existente desde el formulario actual. Por lo tanto, no utilice esta opción a menos que esté seguro de que desea realizar esta acción.
  1. Haga clic en la ficha Programador.
  2. En la sección de código, haga clic en idioma y, a continuación, haga clic para seleccionar la programación. Si se deshabilita el cuadro de lenguaje de código de plantilla de formulario, haga clic en Quitar código para quitar todo el código existente en el formulario. Si el cuadro de lenguaje de código de plantilla de formulario está disponible, vaya al paso siguiente.
  3. En el cuadro de lenguaje de código de plantilla de formulario, haga clic para seleccionar C# y, a continuación, haga clic en Aceptar.
Para InfoPath 2007:

Antes de ejecutar esta secuencia de comandos de ejemplo en InfoPath 2007, debe cambiar el lenguaje de programación C#. Para ello, siga estos pasos:

Advertencia El comando Quitar código que se menciona en los siguientes pasos quita todo el código existente desde el formulario actual. Por lo tanto, no utilice esta opción a menos que esté seguro de que desea realizar esta acción.
  1. En el menú Herramientas, haga clic en Opciones de formulario.
  2. En la lista categoría, haga clic en programación. Si se deshabilita el cuadro de lenguaje de código de plantilla de formulario, haga clic en Quitar código para quitar todo el código existente en el formulario. Si el cuadro de lenguaje de código de plantilla de formulario está disponible, vaya al paso siguiente.
  3. En el cuadro de lenguaje de código de plantilla de formulario, haga clic en C# y, a continuación, haga clic en Aceptar.
Agregue la secuencia de comandos
Para InfoPath 2010:

Agregue la secuencia de comandos para el Evento de carga. Para ello, siga estos pasos:
  1. En la ficha Programador, haga clic en Evento de carga. Se inicia Microsoft Visual Studio Tools para aplicaciones.
  2. Agregue el ejemplo de código siguiente en las ubicaciones que se indican.
    {
                //Create an XPathNavigator object for the main DOM
                XPathNavigator xnDocument = this.MainDataSource.CreateNavigator();
    
                //Create an XPathNavigator object for field1 - the check box for switching the View
                XPathNavigator xnDefaultView = xnDocument.SelectSingleNode("/my:myFields/my:field1", this.NamespaceManager);
          
                //Make sure that the XPathNavigator object is not null or an empty string
                if ((xnDefaultView != null) && (xnDefaultView.Value != ""))
    
                {
                    //Switch to the appropriate View
                    switch (xnDefaultView.Value)
    
                    {
                        case "false":
                            e.SetDefaultView("View 1");
                            break;
    
                        case "true":
                            e.SetDefaultView("View 2");
                            break;
    
                    }
            }
    }
    
  3. Guardar los cambios y, a continuación, cierre Visual Studio Tools para aplicaciones.
  4. Guarde la plantilla de formulario como SwitchDefaultView.xsn y, a continuación, cierre la plantilla de formulario.
Para InfoPath 2007

Agregue la secuencia de comandos para el evento de carga. Para ello, siga estos pasos:
  1. En el menú Herramientas, elija programación y, a continuación, haga clic en Evento de carga. Se inicia Microsoft Visual Studio Tools para aplicaciones.
  2. Agregue el ejemplo de código siguiente al evento Age_OnValidate.
    {
                //Create an XPathNavigator object for the main DOM
                XPathNavigator xnDocument = this.MainDataSource.CreateNavigator();
    
                //Create an XPathNavigator object for field1 - the check box for switching the View
                XPathNavigator xnDefaultView = xnDocument.SelectSingleNode("/my:myFields/my:field1", this.NamespaceManager);
          
                //Make sure that the XPathNavigator object is not null or an empty string
                if ((xnDefaultView != null) && (xnDefaultView.Value != ""))
    
                {
                    //Switch to the appropriate View
                    switch (xnDefaultView.Value)
    
                    {
                        case "false":
                            e.SetDefaultView("View 1");
                            break;
    
                        case "true":
                            e.SetDefaultView("View 2");
                            break;
    
                    }
  3. Guardar los cambios y, a continuación, cierre Visual Studio Tools para aplicaciones.
  4. Guarde la plantilla de formulario como SwitchDefaultView.xsn y, a continuación, cierre la plantilla de formulario.

InfoPath 2003

Para agregar la secuencia de comandos en InfoPath 2003, siga estos pasos:
  1. En el menú Herramientas, seleccione secuencia de comandos y, a continuación, haga clic en Editor de secuencias de comandos de Microsoft.
  2. Agregue el código siguiente a la ventana código: función
    function XDocument::OnLoad(eventObj)
    {
    	//Pick the default view based on the value of element DefaultView
    	var objDefaultView = XDocument.DOM.selectSingleNode("//my:field1");
    
    	if ((objDefaultView != null) && (objDefaultView.text != ""))
       	{
    		switch (objDefaultView.text)
          		{
             		case "false":
    				    XDocument.ViewInfos("View 1").IsDefault = true;
                			break;
             		case "true":
                			XDocument.ViewInfos("View 2").IsDefault = true;
                			break;
          		}
       	}
    }
  3. Guarde la secuencia de comandos y, a continuación, cierre el Editor de secuencias de comandos de Microsoft.
  4. Guarde la plantilla de formulario como SwitchDefaultView.xsn y, a continuación, cierre la plantilla de formulario.

Probar la secuencia de comandos

Para 2010 de InfoPath
  1. Abra Microsoft Office InfoPath relleno.
  2. Haga clic en Buscar un formulario, vaya a SwitchDefaultView.xsn, selecciónelo y, a continuación, haga clic en Abrir.

    El formulario se abre en vista (1) (la vista inicial predeterminada).
  3. Haga clic para seleccionar la casilla de verificación vista 2.
  4. Guarde el formulario como SwitchDefaultViewForm.xml y, a continuación, cierre el formulario.
  5. En la ficha de archivo, haga clic en Cerrar y, a continuación, haga clic en Abrir.
  6. Busque SwitchDefaultViewForm.xml y, a continuación, haga clic en Abrir.
El formulario se abre en vista 2.

Para InfoPath 2007 y en InfoPath 2003:
  1. En el menú archivo, haga clic en Rellenar un formulario.

    Nota Asegúrese de rellenar el formulario en este paso en lugar de activar la vista previa del formulario. Vista previa no refleja cualquier cambio mediante programación de la vista predeterminada en el evento OnLoad. Modo de vista previa siempre muestra la vista que está seleccionada actualmente en el Diseñador de InfoPath.
  2. En InfoPath 2007, haga clic en SwitchDefaultView bajo Abrir un formulario.

    En InfoPath 2003, haga clic en SwitchDefaultView en el panel de tareas.

    El formulario se abre en vista (1) (la vista inicial predeterminada).
  3. Haga clic para seleccionar la casilla de verificación vista 2.
  4. Guarde el formulario como SwitchDefaultViewForm.xml y, a continuación, cierre el formulario.
  5. En el menú archivo, haga clic en Abrir.
  6. Busque SwitchDefaultViewForm.xml y, a continuación, haga clic en Abrir.
El formulario se abre en vista 2.

Propiedades

Id. de artículo: 826997 - Última revisión: viernes, 14 de mayo de 2010 - Versión: 4.0
La información de este artículo se refiere a:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
  • Microsoft Infopath 2010
Palabras clave: 
kbmt kbhowto KB826997 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 826997

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com