Compartilhar via


View.GetContextNodes Método

Definição

Sobrecargas

GetContextNodes(XPathNavigator)

Obtém uma referência a um XPathNodeIterator objeto para iterar através dos nós XML devolvidos a partir do nó especificado.

GetContextNodes(XPathNavigator, String)

Obtém uma referência a um XPathNodeIterator para iterar através dos nós XML devolvidos na seleção atual dentro do controlo vinculado ao controlo especificado.

GetContextNodes()

Obtém uma referência a um XPathNodeIterator para iterar através dos nós XML devolvidos na seleção atual.

GetContextNodes(XPathNavigator)

Obtém uma referência a um XPathNodeIterator objeto para iterar através dos nós XML devolvidos 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 a partir de um processador de eventos para o Loading evento.

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

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

Exemplos

No exemplo seguinte, o SelectNodes(XPathNavigator) método é utilizado para selecionar os nós na primeira linha de um controlo Tabela de Repetição vinculado ao grupo2. Em seguida, o método GetContextNodes é utilizado para devolver uma coleção de nós de contexto com base na seleção atual e no nó especificado. Por fim, o código percorre a coleção de nós de contexto e apresenta o nome, o 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 devolvidos pelo método GetContextNodes consistem numa sequência de nós mapeados da vista, correspondentes ao nó XSL Transformation (XSLT) atual, começando no nó especificado e subindo pelos predecessores da vista até à etiqueta BODY.

Se os nós especificados estiverem vinculados a mais do que um controlo na vista, tem de utilizar o GetContextNodes(XPathNavigator, String) método que lhe permite especificar o identificador ViewContext do controlo que está vinculado aos nós que pretende iterar.

Nota: o método GetContextNodes não devolverá nós com base na seleção atual se for utilizado no processador de eventos para o Clicked evento de um botão na vista, porque o foco é perdido do controlo que se destina a estar em contexto. Para evitar este comportamento, utilize GetContextNodes a partir de um painel de tarefas, menu ou barra de ferramentas personalizado.

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 iterar através dos nós XML devolvidos na seleção atual dentro do controlo vinculado ao controlo 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 obter.

controlId
String

O identificador ViewContext do controlo que contém os nós XML atualmente selecionados a devolver.

Retornos

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

Exceções

O método GetContextNodes foi chamado a partir de um processador de eventos para o Loading evento.

Os parâmetros transmitidos a este método são uma referência nula (Nada no Visual Basic).

Os parâmetros transmitidos a este método não são válidos. Por exemplo, são do tipo ou formato errados.

Exemplos

No exemplo seguinte, o SelectNodes(XPathNavigator, XPathNavigator, String) método é utilizado para selecionar os nós na primeira linha de um controlo Tabela de Repetição vinculado ao grupo2. Em seguida, o método GetContextNodes é utilizado para devolver uma coleção de nós de contexto com base na seleção atual e no nó especificado. Por fim, o código percorre a coleção de nós de contexto e apresenta o nome, o 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

Pode determinar o identificador ViewContext de um controlo ou grupo ao abrir o modelo de formulário no modo Estrutura, apresentar a caixa de diálogo Propriedades do controlo e, em seguida, clicar no separador Avançadas.

Quando o identificador ViewContext é especificado, todos os nós XML que foram especificados para serem selecionados têm de estar nesse contexto.

Os nós XML devolvidos pelo método GetContextNodes consistem numa sequência de nós mapeados da vista, correspondentes ao nó XSL Transformation (XSLT) atual, começando na seleção atual e subindo pelos predecessores da vista até à etiqueta BODY.

Nota: o método GetContextNodes não devolverá nós com base na seleção atual se for utilizado no processador de eventos para o Clicked evento de um botão na vista, porque o foco é perdido do controlo que se destina a estar em contexto. Para evitar este comportamento, utilize GetContextNodes a partir de um painel de tarefas, menu ou barra de ferramentas personalizado.

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 iterar através dos nós XML devolvidos 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 a partir de um processador de eventos para o Loading evento.

Exemplos

No exemplo seguinte, o método GetContextNodes é utilizado para devolver 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 percorre a coleção de nós de contexto e apresenta o nome, o 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 devolvidos pelo método GetContextNodes consistem numa sequência de nós mapeados da vista, correspondente aos nós XSL Transformation (XSLT) selecionados.

Se os nós selecionados estiverem vinculados a mais do que um controlo na vista, tem de utilizar o GetContextNodes(XPathNavigator, String) método que lhe permite especificar o identificador ViewContext do controlo que está vinculado aos nós que pretende iterar.

Nota: o método GetContextNodes não devolverá nós com base na seleção atual se for utilizado no processador de eventos para o Clicked evento de um botão na vista, porque o foco é perdido do controlo que se destina a estar em contexto. Para evitar este comportamento, utilize GetContextNodes a partir de um painel de tarefas, menu ou barra de ferramentas personalizado.

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