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:
Um DataTable.
Um DataView.
Um DataSet.
Um DataViewManager.
Qualquer componente que implemente a interface de IListSource .
Qualquer componente que implemente a interface de IList .
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
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.