GetContextNodes-metoden

Microsoft Office InfoPath

Returnerer en referanse til en XMLNodes-samling som fylles ut med XML DOM-noder (Document Object Model) basert på gjeldende kontekst. Den består av en sekvens av XML DOM-noder som tilordnes fra visningen. Den tilsvarer gjeldende node for XSL-transformering (XSLT) og starter i gjeldende utvalg og går oppover gjennom de overordnede visningene til BODY-koden.

expression.GetContextNodes([ByVal varNode As Variant], [ByVal varViewContext As Variant]) As XMLNodes

expression    Obligatorisk. Et uttrykk som returnerer en referanse til View-objektet.

varNode Optional Variant. En XML DOM-node.

varViewContext Valgfritt Variant. IDen til kontrollen som brukes i konteksten.

returns    En referanse til XMLNodes-samlingen.

Sikkerhetsnivå

2: Kan åpnes bare av skjemaer som kjører på samme domene som skjemaet som i øyeblikket er åpent, eller av skjemaer som har fått tillatelser på tvers av domener.

Merknader

Hvis det ikke brukes parametere, baseres kontekstnodene på gjeldende utvalg. Hvis det brukes parametere, returneres de kontekstnodene som ville blitt returnert basert på utvalget som ville blitt hentet ved et kall til SelectNodes-metoden for View-objektet.

Eksempel

I deleksemplet fra eksempelskjemaet Structural Editing nedenfor brukes GetContextNodes-metoden for View-objektet til å returnere en samling av XML DOM-noder basert på gjeldende kontekst. Koden går deretter i løkke gjennom denne samlingen og søker etter en bestemt node. Når noden er funnet, kaller koden den egendefinerte funksjonen ApplyDiscountToItem for å oppdatere dataene i noden.

objContextNodes = XDocument.View.GetContextNodes();

// Scan the list of context nodes for an item node and if one is found
// apply the discount to it.
for (var i = 0; i < objContextNodes.Count; i++)
{
   if (objContextNodes.item(i).nodeName == "item")
   {
      ApplyDiscountToItem(objContextNodes.item(i), intPercentage);
      blnAppliedDiscount = true;
      break;
   }
}