View2.GetContextNodes(Object, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取对 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 方法。