Share via


ListObject.DataSource 屬性

取得或設定包含值清單的來源,值會用來填入控制項中的項目。

命名空間:  Microsoft.Office.Tools.Excel
組件:  Microsoft.Office.Tools.Excel (在 Microsoft.Office.Tools.Excel.dll 中)

語法

'宣告
Property DataSource As Object
    Get
    Set
Object DataSource { get; set; }

屬性值

型別:System.Object
包含值清單的來源,值會用來填入控制項中的項目。預設值是 nullNull 參照 (即 Visual Basic 中的 Nothing)。

備註

在執行階段,請使用 SetDataBinding 方法設定 DataSource 和 DataMember 屬性。

下列資料來源是有效的:

如需資料來源的詳細資訊,請參閱 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";
}

.NET Framework 安全性

請參閱

參考

ListObject 介面

Microsoft.Office.Tools.Excel 命名空間