Freigeben über


View.GetSelectedNodes-Methode

Ruft einen Verweis auf ein XPathNodeIterator-Objekt zum Durchlaufen aller XML-Knoten in der aktuellen Auswahl von Elementen in einer Ansicht ab.

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Syntax

'Declaration
Public MustOverride Function GetSelectedNodes As XPathNodeIterator
'Usage
Dim instance As View
Dim returnValue As XPathNodeIterator

returnValue = instance.GetSelectedNodes
public abstract XPathNodeIterator GetSelectedNodes ()

Rückgabewert

Ein XPathNodeIterator-Objekt zum Durchlaufen aller Knoten in der aktuellen Auswahl.

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Die GetSelectedNodes-Methode wurde aus einem Ereignishandler für das Loading-Ereignis aufgerufen.

Hinweise

Wenn in einer Ansicht keine Elemente ausgewählt sind oder nur Text ausgewählt ist, hat das XPathNodeIterator-Objekt, das von der GetSelectedNodes-Methode zurückgegeben wird, keine Elemente zum Durchlaufen.

Hinweis

Die GetSelectedNodes-Methode gibt basierend auf der aktuellen Auswahl keine Knoten zurück, wenn sie im Ereignishandler für das Clicked-Ereignis einer Schaltfläche in der Ansicht verwendet wird, da der Fokus dem Steuerelement entzogen wird, das sich eigentlich im Kontext befinden sollte. Um dieses Verhalten zu vermeiden, verwenden Sie GetSelectedNodes in einem benutzerdefinierten Aufgabenbereich, einem benutzerdefinierten Menü oder einer benutzerdefinierten Symbolleiste.

Auf den Member kann nur über Formulare zugegriffen werden, die in derselben Domäne wie das zurzeit geöffnete Formular ausgeführt werden, oder über Formulare, denen domänenübergreifende Berechtigungen erteilt wurden.

Auf diesen Typ oder diesen Member kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 geöffnet wurden.

Beispiel

Im folgenden Beispiel wird die SelectNodes-Methode zum Auswählen der Knoten in der ersten Zeile eines an group2 gebundenen Steuerelements vom Typ Wiederholte Tabelle verwendet. Dann wird die GetSelectedNodes-Methode verwendet, um basierend auf der aktuellen Auswahl eine Auflistung von Knoten zurückzugeben. Schließlich führt der Code eine Schleife durch die Auflistung der Knoten aus und zeigt den Namen, die innere XML und den Wert jedes Knotens an.

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

Siehe auch

Referenz

View-Klasse
View-Member
Microsoft.Office.InfoPath-Namespace