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 |
---|---|
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.
![]() |
---|
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