View.SelectNodes メソッド (XPathNavigator, XPathNavigator, String)
指定した開始 XML ノード、終了 XML ノード、および指定されたコントロールに基づいて、ビュー内の一定範囲のノードを選択します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride Sub SelectNodes ( _
startNode As XPathNavigator, _
endNode As XPathNavigator, _
viewContext As String _
)
'使用
Dim instance As View
Dim startNode As XPathNavigator
Dim endNode As XPathNavigator
Dim viewContext As String
instance.SelectNodes(startNode, endNode, _
viewContext)
public abstract void SelectNodes(
XPathNavigator startNode,
XPathNavigator endNode,
string viewContext
)
パラメーター
- startNode
型: System.Xml.XPath.XPathNavigator
選択範囲の開始ノードを指定するオブジェクト。
- endNode
型: System.Xml.XPath.XPathNavigator
選択範囲の終了ノードを指定するオブジェクト。
- viewContext
型: System.String
その中のテキストを選択するためのコントロールまたはグループの ViewContext 識別子。
例外
例外 | 条件 |
---|---|
InvalidOperationException | SelectNodes メソッドが、Loading イベントのイベント ハンドラーから呼び出されました。 |
ArgumentNullException | このメソッドに渡されたパラメーターは null 参照 (Visual Basic ではNothing ) です。 |
ArgumentException | このメソッドに渡されたパラメーターは有効ではありません。たとえば、型または形式が正しくありません。 |
解説
SelectNodes メソッドを使用する際、指定された範囲のノードがビュー内の複数のコントロールにバインドされている場合は、どのコントロールが選択するノードを含んでいるのかを指定するために、ViewContext 識別子も指定する必要があります。コントロールの ViewContext 識別子を調べるには、デザイン モードでフォーム テンプレートを開き、コントロールの [プロパティ] ダイアログ ボックスを開いて [詳細設定] タブをクリックします。
ViewContext 識別子を指定する場合は、選択するように指定されているすべての XML ノードがそのコンテキスト内になくてはなりません。
注意
SelectNodes メソッドでは、指定されたノードがビュー内で構造単位で選択できる必要があります。
このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。
この型またはメンバーには、Microsoft InfoPath Filler で開かれたフォームを実行中のコードからのみアクセスできます。
例
次の例では、group2 が複数の [繰り返しテーブル] コントロールにバインドされており、そのうちの 1 つが "CTRL2" という ViewContext 識別子を持っています。そして、SelectNodes(startNode,endNode,viewContext) メソッドを使用して、最初の行から 3 つ目の行までの範囲内にあり、"CTRL2" という ViewContext 識別子でコントロールにバインドされているノードを選択しています。
// Create XPathNavigators to specify range of nodes.
XPathNavigator repeatingTableRow1 =
CreateNavigator().SelectSingleNode(
"/my:myFields/my:group1/my:group2[1]", NamespaceManager);
XPathNavigator repeatingTableRow3 =
CreateNavigator().SelectSingleNode(
"/my:myFields/my:group1/my:group2[3]", NamespaceManager);
// Select range of nodes in specified XPathNavigators.
CurrentView.SelectNodes(
repeatingTableRow1,
repeatingTableRow3,
"CTRL2");
' Create XPathNavigators to specify range of nodes.
Dim repeatingTableRow1 As XPathNavigator = _
CreateNavigator().SelectSingleNode( _
"/my:myFields/my:group1/my:group2[1]", NamespaceManager)
Dim repeatingTableRow2 As XPathNavigator = _
CreateNavigator().SelectSingleNode( _
"/my:myFields/my:group1/my:group2[3]", NamespaceManager)
' Select nodes in specified XPathNavigator.
CurrentView.SelectNodes( _
repeatingTableRow1, _
repeatingTableRow3, _
"CTRL2")