次の方法で共有


View.GetContextNodes メソッド

定義

オーバーロード

GetContextNodes(XPathNavigator)

指定したノードから始まる返された XML ノードを反復処理するための XPathNodeIterator オブジェクトへの参照を取得します。

GetContextNodes(XPathNavigator, String)

指定したコントロールにバインドされているコントロール内の現在の選択範囲で返された XML ノードを反復処理するための XPathNodeIterator への参照を取得します。

GetContextNodes()

現在の選択範囲で返された XML ノードを反復処理するための XPathNodeIterator への参照を取得します。

GetContextNodes(XPathNavigator)

指定したノードから始まる返された XML ノードを反復処理するための XPathNodeIterator オブジェクトへの参照を取得します。

public:
 abstract System::Xml::XPath::XPathNodeIterator ^ GetContextNodes(System::Xml::XPath::XPathNavigator ^ xmlNode);
public abstract System.Xml.XPath.XPathNodeIterator GetContextNodes (System.Xml.XPath.XPathNavigator xmlNode);
abstract member GetContextNodes : System.Xml.XPath.XPathNavigator -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetContextNodes (xmlNode As XPathNavigator) As XPathNodeIterator

パラメーター

xmlNode
XPathNavigator

XML ノードを指定するオブジェクト。

戻り値

指定したノードから始まるノードが設定された XPathNodeIterator

例外

GetContextNodes メソッドは、Loading イベントのイベント ハンドラーから呼び出されました。

このメソッドに渡されるパラメーターは null 参照です (Visual Basic では Nothing)。

このメソッドに渡されるパラメーターは無効です。 たとえば、型または形式が正しくありません。

次の例では、 SelectNodes(XPathNavigator) メソッドを使用して、 group2 にバインドされた繰り返しテーブル コントロールの最初の行のノードを選択します。 次に、GetContextNodes メソッドを使用して、現在の選択内容と指定したノードに基づいたコンテキスト ノードのコレクションを返します。 最後に、コンテキスト ノードのコレクションにループ処理を実行して、各ノードの名前、内部 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 context nodes in selection.
XPathNodeIterator contextNodes = 
   CurrentView.GetContextNodes(repeatingTableRow1);

// Loop through collection and display information.
foreach (XPathNavigator contextNode in contextNodes)
{
   MessageBox.Show(contextNode.Name);
   MessageBox.Show(contextNode.InnerXml);
   MessageBox.Show(contextNode.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 context nodes in selection.
Dim contextNodes As XPathNodeIterator = _
   CurrentView.GetContextNodes(repeatingTableRow1)

' Loop through collection and display information.
Dim contextNode As XPathNavigator
For Each contextNode In contextNodes
   MessageBox.Show(contextNode.Name)
   MessageBox.Show(contextNode.InnerXml)
   MessageBox.Show(contextNode.Value)
Next

注釈

GetContextNodes メソッドによって返される XML ノードは、ビューからマップされた一連のノードで構成され、現在の XSL 変換 (XSLT) ノードに対応しています。指定されたノードから始まって、ビューの上位に向かって BODY タグに至るまでのノードが含まれます。

指定したノードがビュー内の複数のコントロールにバインドされている場合は、代わりに GetContextNodes(XPathNavigator, String) メソッドを使用する必要があります。これにより、反復処理するノードにバインドされているコントロールの ViewContext 識別子を指定できます。

: GetContextNodes メソッドは、コンテキスト内にあるコントロールからフォーカスが失われるため、ビュー内のボタンの Clicked イベントのイベント ハンドラーで使用されている場合、現在の選択に基づいてノードを返しません。 この動作を回避するには、カスタム作業ウィンドウ、メニュー、またはツール バーから GetContextNodes を使用します。

このメンバは、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームだけがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler で開いたフォームで実行されるコードからのみアクセスできます。

適用対象

GetContextNodes(XPathNavigator, String)

指定したコントロールにバインドされているコントロール内の現在の選択範囲で返された XML ノードを反復処理するための XPathNodeIterator への参照を取得します。

public:
 abstract System::Xml::XPath::XPathNodeIterator ^ GetContextNodes(System::Xml::XPath::XPathNavigator ^ xmlNode, System::String ^ controlId);
public abstract System.Xml.XPath.XPathNodeIterator GetContextNodes (System.Xml.XPath.XPathNavigator xmlNode, string controlId);
abstract member GetContextNodes : System.Xml.XPath.XPathNavigator * string -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetContextNodes (xmlNode As XPathNavigator, controlId As String) As XPathNodeIterator

パラメーター

xmlNode
XPathNavigator

取得するノードを指定するオブジェクト。

controlId
String

返すように現在選択されている XML ノードが含まれているコントロールの ViewContext 識別子。

戻り値

現在の選択範囲のノードが設定されている XPathNodeIterator

例外

GetContextNodes メソッドは、Loading イベントのイベント ハンドラーから呼び出されました。

このメソッドに渡されるパラメーターは null 参照です (Visual Basic では Nothing)。

このメソッドに渡されたパラメーターは有効ではありません。 たとえば、型または形式が正しくありません。

次の例では、 SelectNodes(XPathNavigator, XPathNavigator, String) メソッドを使用して、 group2 にバインドされた繰り返しテーブル コントロールの最初の行のノードを選択します。 次に、GetContextNodes メソッドを使用して、現在の選択内容と指定したノードに基づいたコンテキスト ノードのコレクションを返します。 最後に、コンテキスト ノードのコレクションにループ処理を実行して、各ノードの名前、内部 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,repeatingTableRow1,"CTRL5");

// Get context nodes in selection.
XPathNodeIterator contextNodes = 
   CurrentView.GetContextNodes(repeatingTableRow1,"CTRL5");

// Loop through collection and display information.
foreach (XPathNavigator contextNode in contextNodes)
{
   MessageBox.Show(contextNode.Name);
   MessageBox.Show(contextNode.InnerXml);
   MessageBox.Show(contextNode.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,repeatingTableRow1,"CTRL5")

' Get context nodes in selection.
Dim contextNodes As XPathNodeIterator = _
   CurrentView.GetContextNodes(repeatingTableRow1)

' Loop through collection and display information.
Dim contextNode As XPathNavigator
For Each contextNode In contextNodes
   MessageBox.Show(contextNode.Name)
   MessageBox.Show(contextNode.InnerXml)
   MessageBox.Show(contextNode.Value)
Next

注釈

コントロールまたはグループの ViewContext 識別子を決定するには、フォーム テンプレートをデザイン モードで開き、コントロールの [プロパティ] ダイアログ ボックスを表示し、[詳細設定] タブをクリックします。

ViewContext 識別子を指定する場合は、選択するように指定されているすべての XML ノードがそのコンテキスト内になくてはなりません。

GetContextNodes メソッドによって返される XML ノードは、ビューからマップされた一連のノードで構成され、現在の XSL 変換 (XSLT) ノードに対応しています。現在の選択範囲から始まって、ビューの上位に向かって BODY タグに至るまでのノードが含まれます。

: GetContextNodes メソッドは、コンテキスト内にあるコントロールからフォーカスが失われるため、ビュー内のボタンの Clicked イベントのイベント ハンドラーで使用されている場合、現在の選択に基づいてノードを返しません。 この動作を回避するには、カスタム作業ウィンドウ、メニュー、またはツール バーから GetContextNodes を使用します。

このメンバは、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームだけがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler で開いたフォームで実行されるコードからのみアクセスできます。

適用対象

GetContextNodes()

現在の選択範囲で返された XML ノードを反復処理するための XPathNodeIterator への参照を取得します。

public:
 abstract System::Xml::XPath::XPathNodeIterator ^ GetContextNodes();
public abstract System.Xml.XPath.XPathNodeIterator GetContextNodes ();
abstract member GetContextNodes : unit -> System.Xml.XPath.XPathNodeIterator
Public MustOverride Function GetContextNodes () As XPathNodeIterator

戻り値

現在の選択範囲のノードが設定されている XPathNodeIterator

例外

GetContextNodes メソッドは、Loading イベントのイベント ハンドラーから呼び出されました。

次の例では、GetContextNodes メソッドを使用して、現在の選択内容に基づいてコンテキスト ノードのコレクションを返して XPathNodeIterator オブジェクト変数に保存します。次に、コンテキスト ノードのコレクションにループ処理を実行して、各ノードの名前、内部 XML、および値を表示します。

// Get context nodes in current selection.
XPathNodeIterator contextNodes = 
   CurrentView.GetContextNodes();

// Loop through collection and display information.
foreach (XPathNavigator contextNode in contextNodes)
{
   MessageBox.Show(contextNode.Name);
   MessageBox.Show(contextNode.InnerXml);
   MessageBox.Show(contextNode.Value);
}
' Get context nodes in current selection.
Dim contextNodes As XPathNodeIterator = _
   CurrentView.GetContextNodes(repeatingTableRow1)

' Loop through collection and display information.
Dim contextNode As XPathNavigator
For Each contextNode In contextNodes
   MessageBox.Show(contextNode.Name)
   MessageBox.Show(contextNode.InnerXml)
   MessageBox.Show(contextNode.Value)
Next

注釈

GetContextNodes メソッドによって返される XML ノードは、ビューからマップされた一連のノードで構成され、選択された XSL 変換 (XSLT) ノードに対応しています。

選択したノードがビュー内の複数のコントロールにバインドされている場合は、代わりに GetContextNodes(XPathNavigator, String) メソッドを使用する必要があります。これにより、反復処理するノードにバインドされているコントロールの ViewContext 識別子を指定できます。

: GetContextNodes メソッドは、コンテキスト内にあるコントロールからフォーカスが失われるため、ビュー内のボタンの Clicked イベントのイベント ハンドラーで使用されている場合、現在の選択に基づいてノードを返しません。 この動作を回避するには、カスタム作業ウィンドウ、メニュー、またはツール バーから GetContextNodes を使用します。

このメンバは、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームだけがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler で開いたフォームで実行されるコードからのみアクセスできます。

適用対象