How to: Fill ListObject Controls with Data
Applies to |
---|
The information in this topic applies only to the specified Visual Studio Tools for Office projects and versions of Microsoft Office. Document-level projects
Application-level projects
For more information, see Features Available by Application and Project Type. |
You can use data binding as a way to quickly add data to your document. After binding data to a list object, you can disconnect the list object so it displays the data but is no longer bound to the data source.
For a related video demonstration, see How Do I: Create a List in Excel that is Connected to a SharePoint List?.
To bind data to a ListObject control
Create a DataTable at the class level.
Dim table As DataTable = New DataTable("Employees")
System.Data.DataTable table = new System.Data.DataTable("Employees");
Add sample columns and data in the Startup event handler of the Sheet1 class (in a document-level project) or ThisAddIn class (in an application-level project).
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");
Call the SetDataBinding method and pass in the column names in the order they should appear. The order of the columns in the list object can differ from the order in which they appear in the DataTable.
list1.AutoSetDataBoundColumnHeaders = True list1.SetDataBinding(table, Nothing, "LastName", "FirstName")
list1.AutoSetDataBoundColumnHeaders = true; list1.SetDataBinding(table, null, "LastName", "FirstName");
To disconnect the ListObject control from the data source
Call the Disconnect method of List1.
list1.Disconnect()
list1.Disconnect();
Compiling the Code
This code example assumes you have an existing ListObject named list1 on the worksheet in which this code appears.
See Also
Tasks
How to: Map ListObject Columns to Data
How to: Populate Worksheets with Data from a Database
How to: Populate Documents with Data from Services
Concepts
Extending Word Documents and Excel Workbooks in Application-Level Add-ins at Run Time
Excel Application-Level Add-in Development
Adding Controls to Office Documents at Run Time
Understanding ListObject Column and Row Order Persistence
Binding Data to Controls in Office Solutions