ListObject.DataSource 屬性 (2007 系統)
更新:2007 年 11 月
取得或設定包含值清單的來源,值會用來填入控制項中的項目。
命名空間: Microsoft.Office.Tools.Excel
組件: Microsoft.Office.Tools.Excel.v9.0 (在 Microsoft.Office.Tools.Excel.v9.0.dll 中)
語法
Public Property DataSource As Object
Dim instance As ListObject
Dim value As Object
value = instance.DataSource
instance.DataSource = value
public Object DataSource { get; set; }
屬性值
包含值清單的來源,值會用來填入控制項中的項目。預設值是 nullNull 參照 (即 Visual Basic 中的 Nothing)。
備註
在執行階段,請使用 SetDataBinding 方法設定 DataSource 和 DataMember 屬性。
下列資料來源是有效的:
任何實作 IListSource 介面的元件。
任何實作 IList 介面的元件。
如需資料來源的詳細資訊,請參閱 Binding 類別的概觀。
如果 DataSource 參照包含一個以上的資料表或屬性,則您必須將 DataMember 屬性設定為指定要繫結之資料表的字串。例如,如果 DataSource 是 DataSet 或是包含三個名稱為 Customers、Orders 和 OrderDetails 之資料表的 DataViewManager,則您必須指定要繫結的資料表。
將 DataSource 設定為未實作 IList 介面或 IListSource 的物件,會擲回例外狀況。
範例
下列程式碼範例會建立具有兩個 DataTable 物件的 DataSet,並將資料填入其中一個資料表。程式碼接著會設定 ListObject 的 DataSource 和 DataMember 屬性,繫結至包含資料的資料表。
這是示範文件層級自訂的範例。
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", missing], "Customers");
// Bind the list object to the Customers table.
list1.AutoSetDataBoundColumnHeaders = true;
list1.DataSource = ordersDataSet;
list1.DataMember = "Customers";
}
使用權限
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。