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
Typ: System.Xml.XPath.XPathNodeIterator
Ein XPathNodeIterator-Objekt zum Durchlaufen aller Knoten in der aktuellen Auswahl.
Ausnahmen
Ausnahme | 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 dieses Mitglied kann nur mithilfe von Formularen zugegriffen werden, die in der gleichen Domäne wie das derzeit geöffnete Formular ausgeführt werden oder denen domänenübergreifende Berechtigungen zugewiesen wurden.
Auf diesen Typ oder dieses Mitglied kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler geöffnet wurden.
Beispiele
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