View.GetSelectedNodes 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取对 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 中打开的表单中运行的代码访问此类型或成员。