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