次の方法で共有


XmlForm.DataSources プロパティ

フォームに関連付けられた DataSourceCollection オブジェクトを取得します。

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

構文

'宣言
Public MustOverride ReadOnly Property DataSources As DataSourceCollection
'使用
Dim instance As XmlForm
Dim value As DataSourceCollection

value = instance.DataSources
public abstract DataSourceCollection DataSources { get; }

プロパティ値

フォームに関連付けられた DataSourceCollection オブジェクトを含んでいる DataSource

コメント

DataSourceCollection オブジェクトは、フォーム テンプレートに関連付けられたすべての外部 (セカンダリ) データ ソースを表す DataSource オブジェクトのコレクションを含みます。DataSourceCollection オブジェクトは、フォームのメイン データ ソースを表す DataSource オブジェクトも含んでいます。つまり、開発者がメイン データ ソースを表す DataSource オブジェクトを返すには、2 つの方法があります。DataSourceCollection[""] を使用する方法と、MainDataSource プロパティを使用する方法です。

メモメモ :

DataSources プロパティは、COM/スクリプト オブジェクト モデルにおける XDocument オブジェクトの DataObjects プロパティ、および InfoPath 2003 互換マネージ コード オブジェクト モデルにおける _XDocument2 インターフェイスの DataObjects プロパティと同様の機能を提供します。

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

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

次の例では、XmlForm クラスの DataSources プロパティを使用して、セカンダリ データ ソース "CityList" への参照を設定します。

DataSource myDataSource = this.DataSources["CityList"];
Dim myDataSource As DataSource = Me.DataSources("CityList")

フォームの [ボタン] コントロールのイベント ハンドラを実装する次の例では、XmlForm オブジェクトの DataSources プロパティを使用して、フォームの DataSourceCollection への参照を設定します。コードはコレクションをループし、コレクションに含まれる各 DataSource オブジェクトの位置インデックスと名前を表示します。

public void CTRL1_Clicked(object sender, ClickedEventArgs e)
{
   // Set a reference to the DataSources collection.
   DataSourceCollection myDataSources = this.DataSources;

   // Loop through the collection and display the name
   // of each DataSource object that it contains.
   for (int i = 0; i < myDataSources.Count; i++)
   {
      MessageBox.Show("Data source " + i + ": " + 
         myDataSources[i].Name);
   }
}
Public Sub CTRL1_Clicked(ByVal sender As Object, _
   ByVal e As ClickedEventArgs)
   ' Set a reference to the DataSources collection.
   Dim myDataSources As DataSourceCollection = Me.DataSources

   ' Loop through the collection and display the name
   ' of each DataSource object that it contains.
   Dim i As Integer
   For i = 0 To myDataSources.Count - 1
      MessageBox.Show("Data source " & i & ": " _
         & myDataSources(i).Name)
   Next
End Sub

関連項目

参照

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