XmlForm.MainDataSource プロパティ
フォームのメイン データ ソースを表す DataSource オブジェクトを取得します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride ReadOnly Property MainDataSource As DataSource
Get
'使用
Dim instance As XmlForm
Dim value As DataSource
value = instance.MainDataSource
public abstract DataSource MainDataSource { get; }
プロパティ値
型: Microsoft.Office.InfoPath.DataSource
フォームのメイン データ ソースを表す DataSource。
解説
MainDataSource プロパティは、フォームの基になる XML ドキュメントを表す DataSource オブジェクトを取得します。このオブジェクトを使用して DataSource クラスのプロパティとメソッドにアクセスし、フォームの基になる XML ドキュメント内のデータを操作できます。
このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。
この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開かれたフォームを実行中のコードからアクセスできます。
例
次のコードの例では、Loading イベントのイベント ハンドラーが最初に MainDataSource プロパティを使用して DataSource クラスの CreateNavigator メソッドを呼び出し、System.Xml.XPath.XPathNavigator クラスのインスタンスを作成して、フォームの基になる XML ドキュメントのルート ノードに配置します。次に、XPathNavigator オブジェクトの SelectSingleNode メソッドを使用して employee フィールドに移動し (NamespaceManager プロパティを使用して名前空間のプレフィックスを解決することによって)、フィールドを現在のユーザーのユーザー名に設定します。
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
// Create XPathNavigator positioned at the root of the main data
// source.
XPathNavigator myNav = this.MainDataSource.CreateNavigator()
// Select employee field and set value to username.
myNav.SelectSingleNode("//my:employee",this.NamespaceManager).
SetValue(System.Environment.UserName);
}
Public Sub FormEvents_Loading(ByVal sender As Object, ByVal e As LoadingEventArgs)
' Create XPathNavigator positioned at the root of the main data
' source.
Dim myNav As XPathNavigator = Me.MainDataSource.CreateNavigator()
' Select employee field and set value to username.
myNav.SelectSingleNode("//my:employee", Me.NamespaceManager). _
SetValue(System.Environment.UserName)
End Sub