View2.GetContextNodes(Object, Object) 方法

定义

获取对 XMLNodesCollection 基于当前上下文的 XML 文档对象模型 (DOM) 节点填充的集合的引用。

public Microsoft.Office.Interop.InfoPath.XMLNodesCollection GetContextNodes (object varNode, object varViewContext);
abstract member GetContextNodes : obj * obj -> Microsoft.Office.Interop.InfoPath.XMLNodesCollection
Public Function GetContextNodes (Optional varNode As Object, Optional varViewContext As Object) As XMLNodesCollection

参数

varNode
Object

XML DOM 节点。

varViewContext
Object

用于上下文的控件的 ID。

返回

一个对 XMLNodesCollection 集合的引用。

实现

示例

在以下示例中,对象的 GetContextNodes 方法 ViewObject 用于基于当前上下文返回 XML DOM 节点的集合。 然后代码循环遍历该 XML DOM 节点集合以查找特定节点。 找到 时,将更新 的文本 field1 。 此示例需要一 group1 个名为 的重复节的结构,其中包含名为 的 field1字段。

XMLNodesCollection contextNodes = thisXDocument.View.<span class="label">GetContextNodes</span>(Type.Missing, Type.Missing);
// Scan the list of context nodes for an field1 node and if one is found
// update its text.
 foreach (IXMLDOMNode contextNode in contextNodes)
 {
  if (contextNode.nodeName == "my:group1")
  {
   contextNode.selectSingleNode("my:field1").text = "found node";
   break;
  }
 }

注解

GetContextNodes 方法返回的集合包含一系列从视图映射而来的 XML DOM 节点,这些节点与当前的 XSL 传输 (XSLT) 节点相对应,从当前所选项开始,沿视图祖先向上直到 BODY 标记。

如果不使用参数,则上下文节点将基于当前所选项。 如果使用参数,则返回的上下文节点是基于从调用 方法中获得的选择返回的 SelectNodes(IXMLDOMNode, Object, Object) 上下文节点。

注意GetContextNodes 方法不会根据当前所选内容返回节点(如果用于 OnClick 视图中的按钮),因为焦点将从本应位于上下文中的控件中丢失。 若要避免此行为,请通过自定义任务窗格、菜单或工具栏使用 GetContextNodes 方法。

适用于