View.SelectNodes Method (XPathNavigator, XPathNavigator)
Selects a range of nodes in a view based on the specified starting XML node and ending XML node.
Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in Microsoft.Office.InfoPath.dll)
Syntax
'Declaration
Public MustOverride Sub SelectNodes ( _
startNode As XPathNavigator, _
endNode As XPathNavigator _
)
'Usage
Dim instance As View
Dim startNode As XPathNavigator
Dim endNode As XPathNavigator
instance.SelectNodes(startNode, endNode)
public abstract void SelectNodes(
XPathNavigator startNode,
XPathNavigator endNode
)
Parameters
startNode
Type: System.Xml.XPath.XPathNavigatorAn object that specifies the start node for the selection.
endNode
Type: System.Xml.XPath.XPathNavigatorAn object that specifies the end node for the selection.
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | The SelectNodes method was called from an event handler for the Loading event. |
ArgumentNullException | The parameters passed to this method are a null reference (Nothing in Visual Basic). |
ArgumentException | The parameters passed to this method are not valid. For example, they are of the wrong type or format. |
Remarks
If the specified range of nodes is bound to more than one control in the view, you must use the SelectNodes(XPathNavigator, XPathNavigator, String) method. This allows you to specify the ViewContext identifier of the control that is bound to the range of nodes you want to select.
Note
The SelectNodes method requires that the specified nodes be structurally selectable in the view.
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.
Examples
In the following example, the SelectNodes(startNode,endNode) method is used to select the range of nodes starting from the first row to the third row in a Repeating Table control bound to group2.
// Create XPathNavigators to specify range of nodes.
XPathNavigator repeatingTableRow1 =
CreateNavigator().SelectSingleNode(
"/my:myFields/my:group1/my:group2[1]", NamespaceManager);
XPathNavigator repeatingTableRow3 =
CreateNavigator().SelectSingleNode(
"/my:myFields/my:group1/my:group2[3]", NamespaceManager);
// Select range of nodes in specified XPathNavigators.
CurrentView.SelectNodes(repeatingTableRow1, repeatingTableRow3);
' Create XPathNavigators to specify range of nodes.
Dim repeatingTableRow1 As XPathNavigator = _
CreateNavigator().SelectSingleNode( _
"/my:myFields/my:group1/my:group2[1]", NamespaceManager)
Dim repeatingTableRow2 As XPathNavigator = _
CreateNavigator().SelectSingleNode( _
"/my:myFields/my:group1/my:group2[3]", NamespaceManager)
' Select nodes in specified XPathNavigator.
CurrentView.SelectNodes(repeatingTableRow1, repeatingTableRow3)