[方法] ビューを操作する方法
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 プロパティを使用します。現在アクティブなビューをプログラムで変更するには、次のコード サンプルで示すように ViewInfoCollection の SwitchView メソッドを使用します。
this.ViewInfos.SwitchView("MySecondView");
Me.ViewInfos.SwitchView("MySecondView")
ビューを切り替える前の例は、フォームが開かれた後にのみ動作します。OnLoad イベント中の既定のビューを設定するには、次の例で示すように、ViewInfoCollection クラスの Initial プロパティを使用します。ただし、この値は、フォームが保存され、もう一度開かれた後にのみ有効になることに注意してください。
this.ViewInfos.Initial = this.ViewInfos["MyInitialView"];
Me.ViewInfos.Initial = Me.ViewInfos["MyInitialView"];