View.GetSelectedNodes 方法

定义

获取对 XPathNodeIterator 对象的引用,以循环访问视图中当前所选项中的所有 XML 节点。

public:
 abstract System::Xml::XPath::XPathNodeIterator ^ GetSelectedNodes();
public abstract System.Xml.XPath.XPathNodeIterator GetSelectedNodes ();
abstract member GetSelectedNodes : unit -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetSelectedNodes () As XPathNodeIterator

返回

一个 XPathNodeIterator ,用于循环访问当前所选内容中的所有节点。

例外

从事件的事件处理程序Loading中调用了 GetSelectedNodes 方法。

示例

在以下示例中, SelectNodes(XPathNavigator) 方法用于选择绑定到 group2 的 Repeating Table 控件的第一行中的节点。 然后,将使用 GetSelectedNodes 方法基于当前选定项返回节点的集合。 最后,代码将遍历节点的集合,并显示每个节点的名称、内部 XML 和值。

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

注解

如果在视图中没有选择项目,或者只选择了文本,则 GetSelectedNodes 方法返回的 XPathNodeIterator 对象没有要迭代的目标。

注意:如果在视图中按钮事件的事件处理程序Clicked中使用,GetSelectedNodes 方法将不会基于当前选择返回节点,因为焦点从本应位于上下文中的控件中丢失。 若要避免此行为,请通过自定义任务窗格、菜单或工具栏使用 GetSelectedNodes

此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。

可以通过 Microsoft InfoPath Filler 中打开的表单中运行的代码访问此类型或成员。

适用于