次の方法で共有


[方法] ビューを操作する方法

InfoPath フォーム テンプレートで作業する場合、フォームのビューにアクセスし、ビューに含まれるデータにさまざまな操作を行うコードを書くことができます。Microsoft.Office.InfoPath 名前空間によって提供される InfoPath オブジェクト モデルでは、View クラスのメンバを使用して、フォームのビューにアクセスできます。

View クラスの概要

View クラスには、次のメソッドとプロパティがあります。フォームの開発者は、これらを使用することにより、InfoPath ビューを操作できます。

メモメモ :

View クラスのメソッドとプロパティは Loading イベント中には利用できません。

名前 説明

DisableAutoUpdate メソッド

フォームの基になる XML ドキュメントと、それに関連付けられているビューが自動的に同期しないようにします。

EnableAutoUpdate メソッド

フォームの基になる XML ドキュメントと、それに関連付けられているビューが自動的に同期するようにします。

ExecuteAction メソッド

ビューで現在選択されているデータに基づいて、フォームの基になる XML ドキュメントに対して編集コマンドを実行します。

ExecuteAction メソッド

指定したフィールドまたはグループに基づいて、フォームの基になる XML ドキュメントに対して編集コマンドを実行します。

Export メソッド

指定された形式のファイルにビューをエクスポートします。

ForceUpdate メソッド

フォームの基になる XML ドキュメントと、それに関連付けられているビューを強制的に同期させます。

GetContextNodes メソッド

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

GetContextNodes メソッド

指定したフィールドまたはグループにバインドされているコントロール内にある、現在の選択範囲内の返された XML ノードに対して反復処理を行うための XPathNodeIterator オブジェクトへの参照を取得します。

GetSelectedNodes メソッド

ビューで現在選択されている項目内のすべての XML ノードに対して反復処理を行うための XPathNodeIterator オブジェクトへの参照を取得します。

SelectNodes メソッド

指定した開始 XML ノードに基づいて、ビュー内の一定範囲内のノードを選択します。

SelectNodes メソッド

指定した開始 XML ノードと終了 XML ノードに基づいて、ビュー内の一定範囲内のノードを選択します。

SelectNodes メソッド

指定した開始 XML ノード、終了 XML ノード、および指定されたコントロールに基づいて、ビュー内の一定範囲のノードを選択します。

SelectText メソッド

このメソッドに渡された XPathNavigator オブジェクトで指定されるノードにバインドされた編集可能なコントロールに格納されているテキストを選択します。

SelectText メソッド

このメソッドに渡された XPathNavigator オブジェクトで指定されるノードにバインドされた編集可能なコントロールに格納されているテキスト、および指定されたコントロールを選択します。

ShowMailItem メソッド

現在のビューが入った電子メール メッセージを作成します。

ViewInfo プロパティ

ビューに関連付けられている ViewInfo オブジェクトへの参照を取得します。

Window プロパティ

ビューに関連付けられている Window オブジェクトへの参照を取得します。

メモメモ :

InfoPath オブジェクト モデルには、ViewInfoCollection クラスと ViewInfo クラスもあります。これらを使用して、フォームに実装されているすべてのビューに関する情報を取得できます。

View クラスを使用する

View クラスにアクセスするには、this (C#) または Me (Visual Basic) キーワードを使用してアクセスする XmlForm クラスの CurrentView プロパティを使用します。たとえば、次のコード サンプルでは、現在アクティブなビューの名前をメッセージ ボックスに表示する方法を示しています。

MessageBox.Show("Current view name: " + 
   this.CurrentView.Name);
MessageBox.Show("Current view name: " & _
   Me.CurrentView.Name)

すべての InfoPath フォーム テンプレートには、少なくとも 1 つの既定のビューがありますが、InfoPath ではフォームの基になる XML ドキュメントの複数のビューを作成することもできます。複数のビューがある場合、ViewInfoCollection を使用して、フォーム テンプレートに実装されたすべてのビューで作業できます。フォーム テンプレートの ViewInfoCollection にアクセスするには、XmlForm クラスの ViewInfos プロパティを使用します。現在アクティブなビューをプログラムで変更するには、次のコード サンプルで示すように ViewInfoCollectionSwitchView メソッドを使用します。

this.ViewInfos.SwitchView("MySecondView");
Me.ViewInfos.SwitchView("MySecondView")

ビューを切り替える前の例は、フォームが開かれた後にのみ動作します。OnLoad イベント中の既定のビューを設定するには、次の例で示すように、ViewInfoCollection クラスの Initial プロパティを使用します。ただし、この値は、フォームが保存され、もう一度開かれた後にのみ有効になることに注意してください。

this.ViewInfos.Initial = this.ViewInfos["MyInitialView"];
Me.ViewInfos.Initial = Me.ViewInfos["MyInitialView"];