Partager via


ListObject.DataSource, propriété

Obtient ou définit la source qui contient une liste de valeurs qui sont utilisées pour remplir les éléments du contrôle.

Espace de noms :  Microsoft.Office.Tools.Excel
Assembly :  Microsoft.Office.Tools.Excel (dans Microsoft.Office.Tools.Excel.dll)

Syntaxe

'Déclaration
Property DataSource As Object
Object DataSource { get; set; }

Valeur de propriété

Type : System.Object
Source qui contient une liste de valeurs qui sont utilisées pour remplir les éléments du contrôle.La valeur par défaut est nullune référence null (Nothing en Visual Basic).

Notes

Au moment de l'exécution, utilisez la méthode SetDataBinding pour définir les propriétés DataSource et DataMember.

Les sources de données suivantes sont valides :

Pour plus d'informations sur les sources de données, consultez la vue d'ensemble de la classe Binding.

Si la référence DataSource contient plusieurs tables ou propriétés, vous devez affecter à la propriété DataMember une chaîne qui spécifie la table à lier. Par exemple, si DataSource est un DataSet ou un DataViewManager qui contient trois tables nommées Customers, Orders et OrderDetails, vous devez spécifier la table à lier.

L'affectation d'un objet qui n'implémente pas l'interface IList ou un IListSource à DataSource provoquera la levée d'une exception.

Exemples

L'exemple de code suivant crée un DataSet avec deux objets DataTable et remplit de données l'une des tables. Le code définit ensuite les propriétés DataSource et DataMember du ListObject à lier à la table qui contient des données.

Cet exemple illustre une personnalisation au niveau du document.

    Private Sub ListObject_DataSourceAndMember()
        ' Create a DataSet and two DataTables.
        Dim ordersDataSet As New DataSet("ordersDataSet")
        Dim tableCustomers As New DataTable("Customers")
        Dim tableProducts As New DataTable("Products")
        ordersDataSet.Tables.Add(tableCustomers)
        ordersDataSet.Tables.Add(tableProducts)

        ' Add a data to the Customers DataTable.
        tableCustomers.Columns.Add(New DataColumn("LastName"))
        tableCustomers.Columns.Add(New DataColumn("FirstName"))
        Dim dr As DataRow = tableCustomers.NewRow()
        dr("LastName") = "Chan"
        dr("FirstName") = "Gareth"
        tableCustomers.Rows.Add(dr)

        ' Create a list object.
        Dim List1 As Microsoft.Office.Tools.Excel.ListObject = _
            Me.Controls.AddListObject(Me.Range( _
            "A1"), "Customers")

        ' Bind the list object to the Customers table.
        List1.AutoSetDataBoundColumnHeaders = True
        List1.DataSource = ordersDataSet
        List1.DataMember = "Customers"

    End Sub

private void ListObject_DataSourceAndMember()
{
    // Create a DataSet and two DataTables.
    DataSet ordersDataSet = new DataSet("ordersDataSet");
    DataTable tableCustomers = new DataTable("Customers");
    DataTable tableProducts = new DataTable("Products");
    ordersDataSet.Tables.Add(tableCustomers);
    ordersDataSet.Tables.Add(tableProducts);

    // Add a data to the Customers DataTable.
    tableCustomers.Columns.Add(new DataColumn("LastName"));
    tableCustomers.Columns.Add(new DataColumn("FirstName"));
    DataRow dr = tableCustomers.NewRow();
    dr["LastName"] = "Chan";
    dr["FirstName"] = "Gareth";
    tableCustomers.Rows.Add(dr);

    // Create a list object.
    Microsoft.Office.Tools.Excel.ListObject list1 = 
        this.Controls.AddListObject(
        this.Range["A1"], "Customers");

    // Bind the list object to the Customers table.
    list1.AutoSetDataBoundColumnHeaders = true;
    list1.DataSource = ordersDataSet;
    list1.DataMember = "Customers";
}

Sécurité .NET Framework

Voir aussi

Référence

ListObject Interface

Microsoft.Office.Tools.Excel, espace de noms