Cómo: Asignar columnas ListObject a datos
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office. Proyectos de nivel de documento
Proyectos de nivel de aplicación
Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto. |
Cuando enlace un control ListObject a una tabla DataTable, puede que no desee mostrar todas las columnas de una lista, o que determinadas columnas no estén enlazadas a datos. Puede asignar las columnas que desee que aparezcan en el objeto ListObject cuando llama al método SetDataBinding.
Asignar columnas
Para asignar una tabla de datos a las columnas de una lista
Cree una tabla DataTable en el nivel de clase.
Dim table As System.Data.DataTable = New System.Data.DataTable("Employees")
System.Data.DataTable table = new System.Data.DataTable("Employees");
Agregue columnas de ejemplo y datos en el controlador de eventos Startup de la clase Sheet1 (en un proyecto en el nivel del documento) o la clase ThisAddIn (en un proyecto en el nivel de la aplicación).
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");
Llame al método SetDataBinding y pase los nombres de las columnas en el orden en que deben aparecer. El objeto de lista se enlazará al objeto DataTable recién creado, pero el orden de las columnas del objeto de lista diferirá del orden en que aparecen en DataTable.
Me.List1.AutoSetDataBoundColumnHeaders = True Me.List1.SetDataBinding(table, "", "Title", "LastName", "FirstName")
this.list1.AutoSetDataBoundColumnHeaders = true; this.list1.SetDataBinding(table, "", "Title", "LastName", "FirstName");
Especificar columnas no asignadas
Al asignar columnas a DataTable, también se puede especificar que algunas columnas no se deben enlazar a datos pasando una cadena vacía. En ese caso, se agrega al control ListObject una nueva columna no enlazada a datos.
Para especificar una columna no asignada al asignar las columnas de ListObject
Llame al método SetDataBinding y pase los nombres de las columnas en el orden en que deben aparecer. Utilice una cadena vacía para indicar dónde se agrega una columna no asignada; en este caso, entre la columna de título y la columna de apellido.
Me.List1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName")
this.list1.SetDataBinding(table, "", "Title", "", "LastName", "FirstName");
Compilar el código
Este ejemplo de código supone que existe un control ListObject denominado list1 en la hoja de cálculo en la que aparece este código.
Vea también
Tareas
Cómo: Rellenar los controles ListObject con datos
Conceptos
Desarrollo de complementos de nivel de aplicación de Excel
Agregar controles a documentos de Office en tiempo de ejecución
Comprender la persistencia del orden de filas y columnas ListObject