如何:用数据填充 ListObject 控件

您可以将数据绑定作为一种把数据快速添加到文档的方法来使用。 将数据绑定到列表对象后,您可以断开列表对象的连接,这样,它会显示数据,但不再绑定到数据源。

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

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

将数据绑定到 ListObject 控件

  1. 在类级别上创建 DataTable

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

    table.Columns.Add("FirstName", GetType(String))
    table.Columns.Add("LastName", GetType(String))
    table.Columns.Add("Title", GetType(String))
    
    table.Rows.Add("Nancy", "Anderson", "Sales Representative")
    table.Rows.Add("Robert", "Brown", "Sales Representative")
    
    table.Columns.Add("FirstName", typeof(string));
    table.Columns.Add("LastName", typeof(string));
    table.Columns.Add("Title", typeof(string));
    
    table.Rows.Add("Nancy", "Anderson", "Sales Representative");
    table.Rows.Add("Robert", "Brown", "Sales Representative");
    
  3. 调用 SetDataBinding 方法,并按其显示顺序传入列名。 这些列在列表对象中的顺序与其在 DataTable 中显示的顺序可能有所不同。

    list1.AutoSetDataBoundColumnHeaders = True
    list1.SetDataBinding(table, Nothing, "LastName", "FirstName")
    
    
    list1.AutoSetDataBoundColumnHeaders = true;
    list1.SetDataBinding(table, null, "LastName", "FirstName");
    

断开 ListObject 控件与数据源的连接

  • 调用 List1 的 Disconnect 方法。

    list1.Disconnect()
    
    list1.Disconnect();
    

编译代码

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

请参见

任务

如何:将 ListObject 列映射到数据

如何:用数据库中的数据填充工作表

如何:用服务中的数据填充文档

概念

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

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

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

ListObject 控件

其他资源

Office 文档上的控件

将数据绑定到 Office 解决方案中的控件