如何:将 ListObject 列映射到数据

更新:2007 年 11 月

适用对象

本主题中的信息仅适用于指定的 Visual Studio Tools for Office 项目和 Microsoft Office 版本。

文档级项目

  • Excel 2007

  • Excel 2003

应用程序级项目

  • Excel 2007

有关更多信息,请参见按应用程序和项目类型提供的功能

在将 ListObject 控件绑定到 DataTable 时,您可能不希望显示列表中的所有列,或可能只想显示某些未绑定数据的列。可以映射在调用 SetDataBinding 方法时希望在 ListObject 中出现的列。

映射列

将数据表映射到列表中的列

  1. 在类级别创建 DataTable

    Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
    
    System.Data.DataTable table = new System.Data.DataTable("Employees");
    
  2. 在 Sheet1 类(在文档级项目中)或 ThisAddIn 类(在应用程序级项目中)的 Startup 事件处理程序中添加示例列和数据。

    table.Columns.Add("Id", GetType(Int32))
    table.Columns.Add("FirstName", GetType(String))
    table.Columns.Add("LastName", GetType(String))
    table.Columns.Add("Title", GetType(String))
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative")
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative")
    
    table.Columns.Add("Id", typeof(int));
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Title", typeof(string));
    
    table.Rows.Add(1, "Nancy", "Anderson", "Sales Representative");
    table.Rows.Add(2, "Robert", "Brown", "Sales Representative");
    
  3. 调用 SetDataBinding 方法,并按其显示顺序传入列名。列表对象将被绑定到新创建的 DataTable,但列表对象中的列顺序与列在 DataTable 中的显示顺序不同。

    Me.List1.AutoSetDataBoundColumnHeaders = True
    Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
    
    this.list1.AutoSetDataBoundColumnHeaders = true;
    this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
    

指定未映射的列

将列映射到 DataTable 时,还可以指定不应绑定到数据的一些列,方法是传入空字符串。然后,未绑定到数据的新列被添加到 ListObject 控件。

在映射 ListObject 列时指定未映射的列

  • 调用 SetDataBinding 方法,并按其显示顺序传入列名。使用空字符串指示未映射列的添加位置;此例中是标题列和姓氏列之间。

    Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
    
    this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
    

编译代码

此代码示例假定在出现此代码的工作表中有一个名为 list1 的现有 ListObject

请参见

任务

如何:用数据填充 ListObject 控件

概念

在运行时在应用程序级外接程序中扩展 Word 文档和 Excel 工作簿

Excel 应用程序级外接程序开发

在运行时向 Office 文档添加控件

ListObject 控件

了解 ListObject 列和行顺序持久性

其他资源

Office 文档上的控件

Excel 宿主控件