View.GetContextNodes - Méthode
Obtient une référence à une collection XMLNodesCollection qui est remplie avec les nœuds XML modèle DOM (Document Object) en fonction du contexte actuel.
Espace de noms : Microsoft.Office.Interop.InfoPath
Assembly : Microsoft.Office.Interop.InfoPath (dans Microsoft.Office.Interop.InfoPath.dll)
Syntaxe
'Déclaration
Function GetContextNodes ( _
varNode As Object, _
varViewContext As Object _
) As XMLNodesCollection
'Utilisation
Dim instance As View
Dim varNode As Object
Dim varViewContext As Object
Dim returnValue As XMLNodesCollection
returnValue = instance.GetContextNodes(varNode, _
varViewContext)
XMLNodesCollection GetContextNodes(
Object varNode,
Object varViewContext
)
Paramètres
varNode
Type : System.ObjectNœud DOM XML.
varViewContext
Type : System.ObjectIdentificateur (ID) du contrôle utilisé pour le contexte.
Valeur renvoyée
Type : Microsoft.Office.Interop.InfoPath.XMLNodesCollection
Référence à la collection XMLNodesCollection.
Remarques
La collection renvoyée par la méthode GetContextNodes se compose d'une série de nœuds DOM XML, mappés à partir de la vue, correspondant au nœud transformation XSL (XSLT) actuel, commençant à la sélection actuelle et remontant dans les ancêtres de vue jusqu'à la balise BODY.
Si aucun paramètre n'est utilisé, les nœuds de contexte sont basées sur la sélection actuelle. Si les paramètres sont utilisés, les nœuds de contexte renvoyés sont ceux qui seraient renvoyés en fonction de la sélection obtenue en appelant la méthode SelectNodes .
Notes
La méthode GetContextNodes retournera pas des nœuds en fonction de la sélection actuelle en cas d'utilisation dans l'événement OnClick d'un bouton dans la vue, dans la mesure où le focus est perdu à partir du contrôle qui est destiné à être en contexte. Pour éviter ce problème, utilisez la méthode GetContextNodes à partir d'un volet Office personnalisé, le menu ou la barre d'outils.
Exemples
Dans l'exemple suivant, la méthode GetContextNodes de l'objet ViewObject est utilisée pour retourner une collection de nœuds DOM XML basés sur le contexte actuel. Le code parcourt ensuite la collection de nœuds DOM XML recherche d'un nœud particulier. Lorsqu'elle est trouvée, le texte de field1 est mis à jour. Cet exemple requiert une structure d'une section extensible nommée group1 contenant un champ nommé field1.
XMLNodesCollection contextNodes = thisXDocument.View.GetContextNodes(Type.Missing, Type.Missing);
// Scan the list of context nodes for an field1 node and if one is found
// update its text.
foreach (IXMLDOMNode contextNode in contextNodes)
{
if (contextNode.nodeName == "my:group1")
{
contextNode.selectSingleNode("my:field1").text = "found node";
break;
}
}