次の方法で共有


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
)

パラメーター

  • 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")

関連項目

参照

View クラス

View メンバー

SelectNodes オーバーロード

Microsoft.Office.InfoPath 名前空間