View.GetSelectedNodes (Método)
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
Public MustOverride Function GetSelectedNodes As XPathNodeIterator
Dim instance As View
Dim returnValue As XPathNodeIterator
returnValue = instance.GetSelectedNodes
public abstract XPathNodeIterator GetSelectedNodes ()
Valor devuelto
Objeto XPathNodeIterator para recorrer en iteración todos los nodos de la selección actual.
Excepciones
Tipo de excepción | Condición |
---|---|
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. |
Sólo pueden tener acceso a este miembro los formularios que se ejecuten en el mismo dominio que el formulario abierto actualmente o los formularios a los que se hayan concedido permisos entre dominios.
Se puede tener acceso a este tipo o miembro solamente desde un código ejecutado en formularios abiertos en Microsoft Office InfoPath 2007.
Ejemplo
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
View (Clase)
View (Miembros)
Microsoft.Office.InfoPath (Espacio de nombres)