ListObject.DataSource 属性 (2007 system)

更新: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; }

属性值

类型:System.Object

包含用于填充该控件中的项的值列表的源。默认值为 nullnull 引用(在 Visual Basic 中为 Nothing)。

备注

在运行时,使用 SetDataBinding 方法设置 DataSource 和 DataMember 属性。

下面的数据源有效:

有关数据源的更多信息,请参见 Binding 类概述。

如果 DataSource 引用包含多个表或属性,则必须将 DataMember 属性设置为用来指定要绑定到的表的字符串。例如,如果 DataSource 是包含三个名为 Customers、Orders 和 OrderDetails 的表的 DataSetDataViewManager,则必须指定要绑定到的表。

如果将 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";
}

权限

另请参见

参考

ListObject 类

ListObject 成员

Microsoft.Office.Tools.Excel 命名空间