次の方法で共有


View2.GetContextNodes(Object, Object) メソッド

定義

現在のコンテキストに基づいて XML ドキュメント オブジェクト モデル (DOM) ノードが設定されているコレクションへの XMLNodesCollection 参照を取得します。

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 メソッドを使用します。

適用対象