Partager via


View.GetContextNodes Méthode

Définition

Surcharges

GetContextNodes(XPathNavigator)

Obtient une référence à un XPathNodeIterator objet pour l’itération sur les nœuds XML retournés à partir du nœud spécifié.

GetContextNodes(XPathNavigator, String)

Obtient une référence à un XPathNodeIterator pour itérer sur les nœuds XML retournés dans la sélection actuelle dans le contrôle lié au contrôle spécifié.

GetContextNodes()

Obtient une référence à un XPathNodeIterator pour itérer sur les nœuds XML retournés dans la sélection actuelle.

GetContextNodes(XPathNavigator)

Obtient une référence à un XPathNodeIterator objet pour l’itération sur les nœuds XML retournés à partir du nœud spécifié.

public:
 abstract System::Xml::XPath::XPathNodeIterator ^ GetContextNodes(System::Xml::XPath::XPathNavigator ^ xmlNode);
public abstract System.Xml.XPath.XPathNodeIterator GetContextNodes (System.Xml.XPath.XPathNavigator xmlNode);
abstract member GetContextNodes : System.Xml.XPath.XPathNavigator -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetContextNodes (xmlNode As XPathNavigator) As XPathNodeIterator

Paramètres

xmlNode
XPathNavigator

Objet qui spécifie un nœud XML.

Retours

XPathNodeIterator qui est rempli avec les nœuds à partir du nœud spécifié.

Exceptions

La méthode GetContextNodes a été appelée à partir d’un gestionnaire d’événements pour l’événement Loading .

Le paramètre passé à cette méthode est une référence null (Nothing en Visual Basic).

Le paramètre passé à cette méthode n'est pas valide. Par exemple, le type ou le format est incorrect.

Exemples

Dans l’exemple suivant, la SelectNodes(XPathNavigator) méthode est utilisée pour sélectionner les nœuds de la première ligne d’un contrôle Table répétée lié à group2. La méthode GetContextNodes est ensuite utilisée pour renvoyer une collection de nœuds de contexte basée sur la sélection active et le nœud spécifié. Enfin, le code effectue une boucle dans la collection de nœuds de contexte et affiche 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 context nodes in selection.
XPathNodeIterator contextNodes = 
   CurrentView.GetContextNodes(repeatingTableRow1);

// Loop through collection and display information.
foreach (XPathNavigator contextNode in contextNodes)
{
   MessageBox.Show(contextNode.Name);
   MessageBox.Show(contextNode.InnerXml);
   MessageBox.Show(contextNode.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 context nodes in selection.
Dim contextNodes As XPathNodeIterator = _
   CurrentView.GetContextNodes(repeatingTableRow1)

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

Remarques

Les nœuds renvoyés par la méthode GetContextNodes se compose d’une suite de nœuds, mappés à partir de la vue, correspondant au nœud de transformation XSL (XSLT) active, commençant au nœud spécifié et remontant dans les ancêtres de vue jusqu’à la balise BODY.

Si les nœuds spécifiés sont liés à plusieurs contrôles dans la vue, vous devez utiliser la méthode à la GetContextNodes(XPathNavigator, String) place, qui vous permet de spécifier l’identificateur ViewContext du contrôle lié aux nœuds sur lesquels vous souhaitez itérer.

Remarque : la méthode GetContextNodes ne retourne pas de nœuds en fonction de la sélection actuelle si elle est utilisée dans le gestionnaire d’événements pour l’événement Clicked d’un bouton dans la vue, car le focus est perdu du contrôle qui est destiné à être dans le contexte. Pour éviter ce comportement, utilisez GetContextNodes à partir d’un volet Office personnalisé, d’un menu ou d’une barre d’outils.

Seuls les formulaires qui s’exécutent dans le même domaine que le formulaire actuellement ouvert ou les formulaires disposant d’autorisations inter-domaines peuvent accéder à ce membre.

Vous pouvez uniquement accéder à ce type ou à ce membre à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler.

S’applique à

GetContextNodes(XPathNavigator, String)

Obtient une référence à un XPathNodeIterator pour itérer sur les nœuds XML retournés dans la sélection actuelle dans le contrôle lié au contrôle spécifié.

public:
 abstract System::Xml::XPath::XPathNodeIterator ^ GetContextNodes(System::Xml::XPath::XPathNavigator ^ xmlNode, System::String ^ controlId);
public abstract System.Xml.XPath.XPathNodeIterator GetContextNodes (System.Xml.XPath.XPathNavigator xmlNode, string controlId);
abstract member GetContextNodes : System.Xml.XPath.XPathNavigator * string -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetContextNodes (xmlNode As XPathNavigator, controlId As String) As XPathNodeIterator

Paramètres

xmlNode
XPathNavigator

Objet qui spécifie le nœud à obtenir.

controlId
String

L’identificateur ViewContext du contrôle qui contient les nœuds XML sélectionnés à renvoyer.

Retours

XPathNodeIterator qui est rempli avec les nœuds dans la sélection actuelle.

Exceptions

La méthode GetContextNodes a été appelée à partir d’un gestionnaire d’événements pour l’événement Loading .

Les paramètres passés à cette méthode sont une référence null (Nothing en Visual Basic).

Les paramètres transmis à cette méthode ne sont pas valides. Par exemple, ils sont d'un type ou format incorrect.

Exemples

Dans l’exemple suivant, la SelectNodes(XPathNavigator, XPathNavigator, String) méthode est utilisée pour sélectionner les nœuds de la première ligne d’un contrôle Table répétée lié à group2. La méthode GetContextNodes est ensuite utilisée pour renvoyer une collection de nœuds de contexte basée sur la sélection active et le nœud spécifié. Enfin, le code effectue une boucle dans la collection de nœuds de contexte et affiche 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,repeatingTableRow1,"CTRL5");

// Get context nodes in selection.
XPathNodeIterator contextNodes = 
   CurrentView.GetContextNodes(repeatingTableRow1,"CTRL5");

// Loop through collection and display information.
foreach (XPathNavigator contextNode in contextNodes)
{
   MessageBox.Show(contextNode.Name);
   MessageBox.Show(contextNode.InnerXml);
   MessageBox.Show(contextNode.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,repeatingTableRow1,"CTRL5")

' Get context nodes in selection.
Dim contextNodes As XPathNodeIterator = _
   CurrentView.GetContextNodes(repeatingTableRow1)

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

Remarques

Vous pouvez déterminer l’identificateur ViewContext d’un contrôle ou d’un groupe en ouvrant le modèle de formulaire en mode Création, en affichant la boîte de dialogue Propriétés du contrôle, puis en cliquant sur l’onglet Avancé.

Lorsque l’identificateur ViewContext est spécifié, tous les nœuds XML qui ont été spécifiés pour sélection doivent se trouver dans ce contexte.

Les nœuds renvoyés par la méthode GetContextNodes constituent une suite de nœuds, mappés à partir de la vue, correspondant au nœud de transformation XSL (XSLT) actif, commençant à la sélection active et remontant dans les ancêtres de vue jusqu’à la balise BODY.

Remarque : la méthode GetContextNodes ne retourne pas de nœuds en fonction de la sélection actuelle si elle est utilisée dans le gestionnaire d’événements pour l’événement Clicked d’un bouton dans la vue, car le focus est perdu du contrôle qui est destiné à être dans le contexte. Pour éviter ce comportement, utilisez GetContextNodes à partir d’un volet Office personnalisé, d’un menu ou d’une barre d’outils.

Seuls les formulaires qui s’exécutent dans le même domaine que le formulaire actuellement ouvert ou les formulaires disposant d’autorisations inter-domaines peuvent accéder à ce membre.

Vous pouvez uniquement accéder à ce type ou à ce membre à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler.

S’applique à

GetContextNodes()

Obtient une référence à un XPathNodeIterator pour itérer sur les nœuds XML retournés dans la sélection actuelle.

public:
 abstract System::Xml::XPath::XPathNodeIterator ^ GetContextNodes();
public abstract System.Xml.XPath.XPathNodeIterator GetContextNodes ();
abstract member GetContextNodes : unit -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetContextNodes () As XPathNodeIterator

Retours

XPathNodeIterator qui est rempli avec les nœuds dans la sélection actuelle.

Exceptions

La méthode GetContextNodes a été appelée à partir d’un gestionnaire d’événements pour l’événement Loading .

Exemples

Dans l’exemple suivant, la méthode GetContextNodes est utilisée pour renvoyer une collection de nœuds de contexte en fonction de la sélection active afin de remplir une variable objet XPathNodeIterator. Le code se répète ensuite en boucle dans la collection de nœuds de contexte et affiche le nom, le code XML central et la valeur de chaque nœud.

// Get context nodes in current selection.
XPathNodeIterator contextNodes = 
   CurrentView.GetContextNodes();

// Loop through collection and display information.
foreach (XPathNavigator contextNode in contextNodes)
{
   MessageBox.Show(contextNode.Name);
   MessageBox.Show(contextNode.InnerXml);
   MessageBox.Show(contextNode.Value);
}
' Get context nodes in current selection.
Dim contextNodes As XPathNodeIterator = _
   CurrentView.GetContextNodes(repeatingTableRow1)

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

Remarques

Les nœuds XML renvoyés par la méthode GetContextNodes consistent en une séquence de nœuds mappés à partir de la vue, correspondant aux nœuds XSLT (XSL Transformation) sélectionnés.

Si les nœuds sélectionnés sont liés à plusieurs contrôles dans la vue, vous devez utiliser la méthode à la GetContextNodes(XPathNavigator, String) place, ce qui vous permet de spécifier l’identificateur ViewContext du contrôle lié aux nœuds sur lesquels vous souhaitez itérer.

Remarque : la méthode GetContextNodes ne retourne pas de nœuds en fonction de la sélection actuelle si elle est utilisée dans le gestionnaire d’événements pour l’événement Clicked d’un bouton dans la vue, car le focus est perdu du contrôle qui est destiné à être dans le contexte. Pour éviter ce comportement, utilisez GetContextNodes à partir d’un volet Office personnalisé, d’un menu ou d’une barre d’outils.

Seuls les formulaires qui s’exécutent dans le même domaine que le formulaire actuellement ouvert ou les formulaires disposant d’autorisations inter-domaines peuvent accéder à ce membre.

Vous pouvez uniquement accéder à ce type ou à ce membre à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler.

S’applique à