del método View.GetSelectedNodes

Obtiene una referencia a un objeto XPathNodeIterator para recorrer en iteración todos los nodos XML de los elementos seleccionados de una vista.

Espacio de nombres:  Microsoft.Office.InfoPath
Ensamblado:  Microsoft.Office.InfoPath (en Microsoft.Office.InfoPath.dll)

Sintaxis

'Declaración
Public MustOverride Function GetSelectedNodes As XPathNodeIterator
'Uso
Dim instance As View
Dim returnValue As XPathNodeIterator

returnValue = instance.GetSelectedNodes()
public abstract XPathNodeIterator GetSelectedNodes()

Valor devuelto

Tipo: System.Xml.XPath.XPathNodeIterator
Objeto XPathNodeIterator para recorrer en iteración todos los nodos de la selección actual.

Excepciones

Excepción Condición
InvalidOperationException

Se ha llamado al método GetSelectedNodes desde un controlador de eventos para el evento Loading.

Comentarios

Si no hay ningún elemento seleccionado en una vista o si sólo hay texto seleccionado, el objeto XPathNodeIterator devuelto por el método GetSelectedNodes no tiene nodos por los que realizar la iteración.

Nota

El método GetSelectedNodes no devolverá nodos basados en la selección actual si se usaron en el controlador de eventos para el evento Clicked de un botón de la vista, porque se pierde el foco del control que se pretende que esté en contexto. Para evitar este comportamiento, utilice el método GetSelectedNodes desde un panel de tareas personalizado, un menú o una barra de tareas.

Únicamente se puede acceder a este miembro con formularios que se ejecuten en el mismo dominio que el formulario que está actualmente abierto o con formularios a los que se hayan concedido permisos entre dominios.

Únicamente se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler.

Ejemplos

En el ejemplo siguiente, se usa el método SelectNodes para seleccionar los nodos de la primera fila de un control Tabla extensible enlazado a group2. A continuación, se usa el método GetSelectedNodes para devolver una colección de nodos basada en la selección actual. Por último, el código realiza una operación de bucle en la colección de nodos y muestra el nombre, el XML interno y el valor de cada nodo.

// Create XPathNavigator and specify XPath for nodes.
XPathNavigator repeatingTableRow1 = 
   MainDataSource.CreateNavigator().SelectSingleNode(
   "/my:myFields/my:group1/my:group2[1]", NamespaceManager);

// Select nodes in specified XPathNavigator.
CurrentView.SelectNodes(repeatingTableRow1);

// Get selected nodes.
XPathNodeIterator selectedNodes = 
   CurrentView.GetSelectedNodes();

// Display the count of selected nodes.
MessageBox.Show(selectedNodes.Count.ToString());

// Loop through collection and display information.
foreach (XPathNavigator selectedNode in selectedNodes)
{
   MessageBox.Show(selectedNode.Name);
   MessageBox.Show(selectedNode.InnerXml);
   MessageBox.Show(selectedNode.Value);
}
' Create XPathNavigator and specify XPath for nodes.
Dim repeatingTableRow1 As XPathNavigator  = _
   CreateNavigator().SelectSingleNode( _
   "/my:myFields/my:group1/my:group2[1]", NamespaceManager)

' Select nodes in specified XPathNavigator.
CurrentView.SelectNodes(repeatingTableRow1)

' Get selected nodes.
Dim selectedNodes As XPathNodeIterator = _
   CurrentView.GetSelectedNodes()

' Display the count of selected nodes.
MessageBox.Show(selectedNodes.Count.ToString())

' Loop through collection and display information.
Dim selectedNode As XPathNavigator
For Each selectedNode In selectedNodes
   MessageBox.Show(selectedNode.Name)
   MessageBox.Show(selectedNode.InnerXml)
   MessageBox.Show(selectedNode.Value)
Next

Vea también

Referencia

clase View

Miembros View

Espacio de nombres Microsoft.Office.InfoPath