如何:将 ListObject 列映射到数据

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

**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

链接到视频 有关相关视频演示,请参见 How Do I: Create a List in Excel that is Connected to a SharePoint List?(如何实现:在 Excel 中创建连接到 SharePoint 列表的列表?)。

映射列

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

  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 工作簿

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

使用扩展对象实现 Excel 自动化

ListObject 控件

其他资源

Office 文档上的控件