Language

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

適用対象