Compartilhar via


View.GetContextNodes Método

Definição

Sobrecargas

GetContextNodes(XPathNavigator)

Obtém uma referência a um XPathNodeIterator objeto para iteração sobre os nós XML retornados a partir do nó especificado.

GetContextNodes(XPathNavigator, String)

Obtém uma referência a um XPathNodeIterator para iteração sobre os nós XML retornados na seleção atual dentro do controle associado ao controle especificado.

GetContextNodes()

Obtém uma referência a um XPathNodeIterator para iteração sobre os nós XML retornados na seleção atual.

GetContextNodes(XPathNavigator)

Obtém uma referência a um XPathNodeIterator objeto para iteração sobre os nós XML retornados a partir do nó especificado.

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

Parâmetros

xmlNode
XPathNavigator

Um objeto que especifica um nó XML.

Retornos

Um XPathNodeIterator que é preenchido com os nós a partir do nó especificado.

Exceções

O método GetContextNodes foi chamado de um manipulador de eventos para o Loading evento.

O parâmetro passado para esse método é uma referência nula (Nada no Visual Basic).

O parâmetro passado para esse método não é válido. Por exemplo, ele é do tipo ou formato errado.

Exemplos

No exemplo a seguir, o SelectNodes(XPathNavigator) método é usado para selecionar os nós na primeira linha de um controle tabela repetida vinculado ao group2. O método GetContextNodes é usado para retornar uma coleção de nós de contexto com base na seleção atual e no nó especificado. Por fim, o código passa pela coleção de nós de contexto e exibe o nome, XML interno e o valor de cada nó.

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

Comentários

Os nós XML retornados pelo método GetContextNodes consistem em uma sequência de nós mapeados do modo de exibição, correspondentes ao nó XSLT (Transformação XSL) atual, começando no nó especificado e subindo pelos ancestrais de exibição até a marca BODY.

Se os nós especificados estiverem associados a mais de um controle na exibição, você deverá usar o método em vez disso, o GetContextNodes(XPathNavigator, String) que permite especificar o identificador ViewContext do controle que está associado aos nós que você deseja iterar.

Observação: o método GetContextNodes não retornará nós com base na seleção atual se usado no manipulador de eventos para o Clicked evento de um botão no modo de exibição, pois o foco é perdido do controle que se destina a estar no contexto. Para evitar esse comportamento, use GetContextNodes de um painel de tarefas personalizado, menu ou barra de ferramentas.

This member can be accessed only by forms running in the same domain as the currently open form, or by forms that have been granted cross-domain permissions.

This type or member can be accessed only from code running in forms opened in Microsoft InfoPath Filler.

Aplica-se a

GetContextNodes(XPathNavigator, String)

Obtém uma referência a um XPathNodeIterator para iteração sobre os nós XML retornados na seleção atual dentro do controle associado ao controle especificado.

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

Parâmetros

xmlNode
XPathNavigator

Um objeto que especifica o nó a ser obtido.

controlId
String

O identificador ViewContext do controle que contém os nós XML selecionados no momento para retornar.

Retornos

Um XPathNodeIterator que é preenchido com os nós na seleção atual.

Exceções

O método GetContextNodes foi chamado de um manipulador de eventos para o Loading evento.

Os parâmetros passados para esse método são uma referência nula (Nada no Visual Basic).

Os parâmetros passados para esse método não são válidos. Por exemplo, eles são do tipo ou formato errado.

Exemplos

No exemplo a seguir, o SelectNodes(XPathNavigator, XPathNavigator, String) método é usado para selecionar os nós na primeira linha de um controle tabela repetida vinculado ao group2. O método GetContextNodes é usado para retornar uma coleção de nós de contexto com base na seleção atual e no nó especificado. Por fim, o código passa pela coleção de nós de contexto e exibe o nome, XML interno e o valor de cada nó.

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

Comentários

Você pode determinar o identificador ViewContext para um controle ou grupo abrindo o modelo de formulário no modo Design, exibindo a caixa de diálogo Propriedades do controle e clicando na guia Avançado.

Quando o identificador ViewContext é especificado, todos os nós XML especificados para serem selecionados devem estar dentro desse contexto.

Os nós XML retornados pelo método GetContextNodes consistem em uma sequência de nós mapeados do modo de exibição, correspondentes ao nó XSLT (Transformação XSL) atual, começando na seleção atual e subindo pelos ancestrais de exibição até a marca BODY.

Observação: o método GetContextNodes não retornará nós com base na seleção atual se usado no manipulador de eventos para o Clicked evento de um botão no modo de exibição, pois o foco é perdido do controle que se destina a estar no contexto. Para evitar esse comportamento, use GetContextNodes de um painel de tarefas personalizado, menu ou barra de ferramentas.

This member can be accessed only by forms running in the same domain as the currently open form, or by forms that have been granted cross-domain permissions.

This type or member can be accessed only from code running in forms opened in Microsoft InfoPath Filler.

Aplica-se a

GetContextNodes()

Obtém uma referência a um XPathNodeIterator para iteração sobre os nós XML retornados na seleção atual.

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

Retornos

Um XPathNodeIterator que é preenchido com os nós na seleção atual.

Exceções

O método GetContextNodes foi chamado de um manipulador de eventos para o Loading evento.

Exemplos

No exemplo a seguir, o método GetContextNodes é usado para retornar uma coleção de nós de contexto com base na seleção atual para preencher uma variável de objeto XPathNodeIterator . Em seguida, o código passa pela coleção de nós de contexto e exibe o nome, XML interno e o valor de cada nó.

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

Comentários

Os nós XML retornados pelo método GetContextNodes consistem em uma sequência de nós mapeados do modo de exibição, correspondentes aos nós selecionados de XSL Transformation (XSLT).

Se os nós selecionados estiverem associados a mais de um controle na exibição, você deverá usar o GetContextNodes(XPathNavigator, String) método em vez disso, o que permite especificar o identificador ViewContext do controle associado aos nós que você deseja iterar.

Observação: o método GetContextNodes não retornará nós com base na seleção atual se usado no manipulador de eventos para o Clicked evento de um botão no modo de exibição, pois o foco é perdido do controle que se destina a estar no contexto. Para evitar esse comportamento, use GetContextNodes de um painel de tarefas personalizado, menu ou barra de ferramentas.

This member can be accessed only by forms running in the same domain as the currently open form, or by forms that have been granted cross-domain permissions.

This type or member can be accessed only from code running in forms opened in Microsoft InfoPath Filler.

Aplica-se a