次の方法で共有


XmlForm.MainDataSource プロパティ

フォームのメイン データ ソースを表す DataSource オブジェクトを取得します。

名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)

構文

'宣言
Public MustOverride ReadOnly Property MainDataSource As DataSource
'使用
Dim instance As XmlForm
Dim value As DataSource

value = instance.MainDataSource
public abstract DataSource MainDataSource { get; }

プロパティ値

フォームのメイン データ ソースを表す DataSource

コメント

MainDataSource プロパティは、フォームの基になる XML ドキュメントを表す DataSource オブジェクトを取得します。このオブジェクトを使用して DataSource クラスのプロパティとメソッドにアクセスし、フォームの基になる XML ドキュメント内のデータを操作できます。

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

この型またはメンバは、Microsoft Office InfoPath 2007 または 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

関連項目

参照

XmlForm クラス
XmlForm のメンバ
Microsoft.Office.InfoPath 名前空間