Cómo: Trabajar con vistas
Cuando se trabaja con una plantilla de formulario de InfoPath, es posible escribir código para tener acceso a las vistas del formulario y, a continuación, efectuar diversas acciones con los datos contenidos en ellas. El modelo de objetos de InfoPath que proporciona el espacio de nombres Microsoft.Office.InfoPath admite el acceso a las vistas de los formularios mediante el uso de los miembros de la clase View.
Información general sobre la clase View
La clase View proporciona el método y las propiedades siguientes que los programadores de formularios pueden utilizar para interactuar con una vista de InfoPath.
Nota: |
---|
Los métodos y las propiedades de la clase View no están disponibles durante el evento Loading. |
Nombre | Descripción |
---|---|
Método DisableAutoUpdate |
Deshabilita la sincronización automática entre el documento XML subyacente de un formulario y la vista asociada. |
Método EnableAutoUpdate |
Habilita la sincronización automática entre el documento XML subyacente de un formulario y la vista asociada. |
Método ExecuteAction |
Ejecuta un comando de edición en el documento XML subyacente de un formulario, de acuerdo con los datos seleccionados actualmente en la vista. |
Método ExecuteAction |
Ejecuta un comando de edición en el documento XML subyacente de un formulario, en función del campo o grupo especificados. |
Método Export |
Exporta la vista a un archivo con el formato especificado. |
Método ForceUpdate |
Fuerza la sincronización automática entre el documento XML subyacente de un formulario y la vista asociada. |
Método GetContextNodes |
Obtiene una referencia a un objeto XPathNodeIterator para realizar una iteración en los nodos XML devueltos, empezando en el nodo especificado. |
Método GetContextNodes |
Obtiene una referencia a un objeto XPathNodeIterator para recorrer en iteración los nodos XML devueltos de la selección actual dentro del control enlazado al control especificado. |
Método GetSelectedNodes |
Obtiene una referencia a un objeto XPathNodeIterator para recorrer en iteración todos los nodos XML de los elementos seleccionados de una vista. |
Método SelectNodes |
Selecciona un intervalo de nodos en una vista partiendo del nodo XML inicial especificado. |
Método SelectNodes |
Selecciona un intervalo de nodos en una vista partiendo del nodo XML inicial especificado y terminando en el nodo XML final. |
Método SelectNodes |
Selecciona un intervalo de nodos de una vista partiendo del nodo XML inicial especificado, terminando en el nodo XML final y en el control especificado. |
Método SelectText |
Selecciona el texto que se encuentra en un control modificable enlazado al nodo especificado por el objeto XPathNavigator pasado a este método. |
Método SelectText |
Selecciona el texto que se encuentra en un control modificable enlazado al nodo especificado por el objeto XPathNavigator pasado a este método y el control especificado. |
Método ShowMailItem |
Crea un mensaje de correo electrónico que contiene la vista actual. |
Propiedad ViewInfo |
Obtiene una referencia a un objeto ViewInfo asociado a la vista. |
Propiedad Window |
Obtiene una referencia a un objeto Window asociado a la vista. |
Nota: |
---|
El modelo de objetos de InfoPath también proporciona las clases ViewInfoCollection y ViewInfo, que se pueden usar para conseguir información sobre todas las vistas implementadas en un formulario. |
Uso de la clase View
A la clase View se tiene acceso a través de la propiedad CurrentView de la clase XmlForm, a la que se tiene acceso usando las palabras clave this (C#) o Me (Visual Basic). Por ejemplo, en el siguiente ejemplo de código, se muestra cómo mostrar un cuadro de mensaje con el nombre de la vista que está activa.
MessageBox.Show("Current view name: " +
this.CurrentView.Name);
MessageBox.Show("Current view name: " & _
Me.CurrentView.Name)
Todos las plantillas de formulario de InfoPath contienen al menos una vista predeterminada; sin embargo, InfoPath admite también la creación de varias vistas del documento XML subyacente de un formulario. Cuando tiene varias vistas, puede usar ViewInfoCollection para trabajar con todas las vistas implementadas en la plantilla de formulario. Para tener acceso a la ViewInfoCollection de una plantilla, use la propiedad ViewInfos de la clase XmlForm. Puede cambiar mediante programación la vista activa usando el método SwitchView de ViewInfoCollection, como se muestra en el siguiente ejemplo de código.
this.ViewInfos.SwitchView("MySecondView");
Me.ViewInfos.SwitchView("MySecondView")
El ejemplo anterior (cambiar a una vista) sólo funcionará una vez abierto el formulario. Para establecer una vista predeterminada durante el evento OnLoad, use la propiedad Initial de la clase ViewInfoCollection como se muestra en el siguiente ejemplo. Observe, sin embargo, que este valor sólo surtirá efecto después de que se haya cerrado y abierto de nuevo el formulario.
this.ViewInfos.Initial = this.ViewInfos["MyInitialView"];
Me.ViewInfos.Initial = Me.ViewInfos["MyInitialView"];