次の方法で共有


XmlForm.DataSources プロパティ

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

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

構文

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

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

プロパティ値

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

解説

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

このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。

この型またはメンバーには、Microsoft InfoPath Filler または 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 名前空間