Compartilhar via


Propriedade ListObject.DataSource

Obtém ou define a fonte que contém uma lista de valores que são usados para preencher os itens dentro de controle.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)

Sintaxe

'Declaração
Property DataSource As Object
Object DataSource { get; set; }

Valor de propriedade

Tipo: System.Object
A fonte que contém uma lista de valores que são usados para preencher os itens dentro de controle.O valor padrão é nulluma referência nula (Nothing no Visual Basic).

Comentários

Em tempo de execução, use o método de SetDataBinding para definir as propriedades de DataSource e de DataMember .

As seguintes fontes de dados são válidas:

Consulte a visão geral da classe Binding para obter mais informações sobre fontes de dados.

Se a referência de DataSource contém mais de uma tabela ou propriedade, você deve definir a propriedade de DataMember a uma cadeia de caracteres a que especifica a tabela para associar. Por exemplo, se DataSource é DataSet ou DataViewManager que contém três tabelas chamada Cliente, pedidos, e OrderDetails, você deve especificar a tabela à qual associar.

Definir DataSource a um objeto que não implementa a interface de IList ou IListSource fará com que uma exceção seja lançada.

Exemplos

O exemplo de código a seguir cria DataSet com os dois objetos de DataTable e preenche uma das tabelas com dados. O código então defina as propriedades de DataSource e de DataMember de ListObject para associar a tabela que contém dados.

Este exemplo é para uma personalização de um documento nível.

    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";
}

Segurança do .NET Framework

Consulte também

Referência

ListObject Interface

Namespace Microsoft.Office.Tools.Excel