Condividi tramite


Metodo View.GetSelectedNodes

Ottiene un riferimento a un oggetto XPathNodeIterator per eseguire un'iterazione in tutti i nodi XML nella selezione corrente di elementi in una visualizzazione.

Spazio dei nomi: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Sintassi

Public MustOverride Function GetSelectedNodes As XPathNodeIterator

Dim instance As View
Dim returnValue As XPathNodeIterator

returnValue = instance.GetSelectedNodes
public abstract XPathNodeIterator GetSelectedNodes ()

Valore restituito

Oggetto XPathNodeIterator per eseguire un'iterazione in tutti i nodi nella selezione corrente.

Eccezioni

Tipo eccezione Condizione

InvalidOperationException

Il metodo GetSelectedNodes è stato chiamato da un gestore eventi per l'evento Loading.

Osservazioni

Se in una visualizzazione non sono stati selezionati elementi o se è stato selezionato solo testo, per l'oggetto XPathNodeIterator restituito dal metodo GetSelectedNodes non vi sono elementi in cui eseguire l'iterazione.

Nota:

Il metodo GetSelectedNodes non restituisce nodi in base alla selezione corrente se utilizzato nel gestore eventi per l'evento Clicked di un pulsante della visualizzazione, in quanto il controllo che dovrebbe appartenere al contesto non ha più lo stato attivo. Per evitare questo comportamento, utilizzare il metodo GetSelectedNodes da un menu, una barra degli strumenti o un riquadro attività personalizzato.

Possono accedere a questo membro solo moduli eseguiti nello stesso dominio del modulo aperto oppure moduli a cui sono state concesse autorizzazioni tra domini.

A questo tipo o membro può accedere solo il codice in esecuzione in moduli aperti in Microsoft Office InfoPath 2007.

Esempio

Nell'esempio seguente viene utilizzato il metodo SelectNodes per selezionare i nodi nella prima riga di un controllo Tabella ripetuta associato a group2. Viene quindi utilizzato il metodo GetSelectedNodes per restituire un insieme di nodi in base alla selezione corrente. Viene infine eseguito un ciclo tra l'insieme di nodi e vengono visualizzati il nome, il codice XML interno e il valore di ogni nodo.

// 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 selected nodes.
XPathNodeIterator selectedNodes = 
   CurrentView.GetSelectedNodes();

// Display the count of selected nodes.
MessageBox.Show(selectedNodes.Count.ToString());

// Loop through collection and display information.
foreach (XPathNavigator selectedNode in selectedNodes)
{
   MessageBox.Show(selectedNode.Name);
   MessageBox.Show(selectedNode.InnerXml);
   MessageBox.Show(selectedNode.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 selected nodes.
Dim selectedNodes As XPathNodeIterator = _
   CurrentView.GetSelectedNodes()

' Display the count of selected nodes.
MessageBox.Show(selectedNodes.Count.ToString())

' Loop through collection and display information.
Dim selectedNode As XPathNavigator
For Each selectedNode In selectedNodes
   MessageBox.Show(selectedNode.Name)
   MessageBox.Show(selectedNode.InnerXml)
   MessageBox.Show(selectedNode.Value)
Next

Vedere anche

Riferimenti

Classe View
Membri View
Spazio dei nomi Microsoft.Office.InfoPath