XmlForm.DataSources Property
Gets the DataSourceCollection object associated with the form.
Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in Microsoft.Office.InfoPath.dll)
Syntax
'Declaration
Public MustOverride ReadOnly Property DataSources As DataSourceCollection
Get
'Usage
Dim instance As XmlForm
Dim value As DataSourceCollection
value = instance.DataSources
public abstract DataSourceCollection DataSources { get; }
Property Value
Type: Microsoft.Office.InfoPath.DataSourceCollection
A DataSourceCollection that contains any DataSource objects associated with the form.
Remarks
The DataSourceCollection object contains a collection of DataSource objects that represent all external (secondary) data sources associated with the form template. The DataSourceCollection object also contains a DataSource object that represents the main data source of the form. This means that developers will have two ways to return the DataSource object that represents the main data source: by using DataSources[""] or by using the MainDataSource property.
This member can be accessed only by forms running in the same domain as the currently open form, or by forms that have been granted cross-domain permissions.
This type or member can be accessed from code running in forms opened in Microsoft InfoPath Filler or in a Web browser.
Examples
In the following code example, the DataSources property of the XmlForm class is used to set a reference to the "CityList" secondary data source.
DataSource myDataSource = this.DataSources["CityList"];
Dim myDataSource As DataSource = Me.DataSources("CityList")
In the following code example, which implements an event handler for a Button control on a form, the DataSources property of the XmlForm object is used to set a reference to the DataSourceCollection of the form. The code loops through the collection and displays the positional index and name of each DataSource object that it contains.
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