次の方法で共有


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
    選択範囲の開始ノードを指定する XPathNavigator オブジェクト。
  • endNode
    選択範囲の終了ノードを指定する XPathNavigator オブジェクト。
  • viewContext
    その中のテキストを選択するためのコントロールまたはグループの ViewContext 識別子。

例外処理

例外の種類 条件

InvalidOperationException

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

ArgumentNullException

このメソッドに渡されたパラメータは null です。

ArgumentException

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

コメント

SelectNodes メソッドを使用する際、指定された範囲のノードがビュー内の複数のコントロールにバインドされている場合は、どのコントロールが選択するノードを含んでいるのかを指定するために、ViewContext 識別子も指定する必要があります。コントロールの ViewContext 識別子を調べるには、デザイン モードでフォーム テンプレートを開き、コントロールの [プロパティ] ダイアログ ボックスを開いて [詳細設定] タブをクリックします。

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

メモメモ :

SelectNodes メソッドでは、指定されたノードがビュー内で構造単位で選択できる必要があります。

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

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

次の例では、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 のメンバ
Microsoft.Office.InfoPath 名前空間