View.GetContextNodes Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.