Partager via


View.GetSelectedNodes, méthode

Obtient une référence à un objet XPathNodeIterator qui se répète sur tous les nœuds XML des éléments sélectionnés dans une vue.

Espace de noms : Microsoft.Office.InfoPath
Assembly : Microsoft.Office.InfoPath (dans microsoft.office.infopath.dll)

Syntaxe

Public MustOverride Function GetSelectedNodes As XPathNodeIterator

Dim instance As View
Dim returnValue As XPathNodeIterator

returnValue = instance.GetSelectedNodes
public abstract XPathNodeIterator GetSelectedNodes ()

Valeur de retour

XPathNodeIterator pour répétition sur tous les nœuds de la sélection active.

Exceptions

Type d'exception Condition

InvalidOperationException

La méthode GetSelectedNodes a été appelée depuis un gestionnaire d'événements pour l'événement Loading.

Remarques

Si aucun élément n'est sélectionné dans une vue ou si seul du texte est sélectionné, l'objet XPathNodeIterator renvoyé par la méthode GetSelectedNodes ne peut pas réaliser d'itération.

Remarque

La méthode GetSelectedNodes ne renvoie pas de nœuds basés sur la sélection active si elle est utilisée dans le gestionnaire d'événements pour l'événement Clicked d'un bouton de la vue, car le contrôle prévu pour ce contexte est désactivé. Pour éviter ce comportement, utilisez GetSelectedNodes à partir d'un volet Office personnalisé, d'un menu ou d'une barre d'outils.

Ce membre est accessible uniquement par les formulaires qui s'exécutent dans le même domaine que le formulaire ouvert ou par les formulaires qui disposent d'autorisations indépendantes des domaines.

Ce type ou ce membre est uniquement accessible à partir du code exécuté dans les formulaires ouverts dans Microsoft Office InfoPath 2007.

Exemple

Dans l'exemple suivant, la méthode SelectNodes est utilisée pour sélectionner les nœuds de la première ligne d'un contrôle de Tableau extensible lié à group2. La méthode GetSelectedNodes est ensuite utilisée pour renvoyer une collection de nœuds basée sur la sélection active. Enfin, le code effectue une boucle dans la collection de nœuds pour afficher le nom, le XML central et la valeur de chaque nœud.

// 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

Voir aussi

Référence

View, classe
Membres View
Microsoft.Office.InfoPath, espace de noms