Comprender la persistencia del orden de filas y columnas ListObject

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.

Tipo de proyecto

  • Proyectos de nivel de documento

Versión de Microsoft Office

  • Excel 2003

  • Excel 2007

Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto.

Cuando enlaza los datos a un control ListObject agregado a un documento en tiempo de diseño, Visual Studio Tools para Office mantiene el seguimiento del orden de columnas y filas cuando se guarda el libro. Si un usuario mueve las columnas o filas de ListObject en tiempo de ejecución, el nuevo orden se conserva la próxima vez se abre el libro y el control ListObject se enlaza de nuevo al origen de datos.

Cómo se conserva el orden de columnas y filas

Cuando guarda un libro que contiene un control ListObject enlazado a los datos, el orden de columnas y filas se almacena en el libro en una propiedad de documento personalizada.

El nombre de la propiedad se determina utilizando un código hash para el nombre combinado de la hoja de cálculo y el objeto de lista. Por ejemplo, el nombre de la propiedad de documento personalizada de un control ListObject con el nombre List1 en Sheet1 sería ___2387CEF09___0. Si el valor de esta propiedad tiene una longitud superior a 255 caracteres, se crea otra propiedad de documento personalizada con el número secuencial siguiente anexado; por ejemplo, ___2387CEF09___1, ___2387CEF09___2, etc.

El valor de la propiedad de documento personalizada contiene los nombres de columna y los números de fila. Por ejemplo, si el control ListObject está compuesto por cuatro filas y dos columnas, LastName y FirstName, el valor de la propiedad sería FirstName*LastName%1*2*3*4. Si el usuario mueve la fila tres sobre la fila dos, el valor cambiará a FirstName*LastName%1*3*2*4 cuando se guarde el libro.

La próxima vez que se abre el libro, el control ListObject lee la información de las propiedades de documento personalizadas y mantiene el orden de las filas y columnas cuando se cargan los datos.

Cómo restaurar el orden de columnas y filas

Si desea restaurar el control ListObject a su orden de columnas y filas original, puede llamar al método ResetPersistedBindingInformation. Este método quita las propiedades de documento personalizadas relacionadas con el orden de columnas y filas del control ListObject especificado. Llame a este método desde el evento Shutdown del Libro si no desea conservar el orden de columnas y filas del control ListObject.

Vea también

Tareas

Cómo: Asignar columnas ListObject a datos

Conceptos

ListObject (Control)

Otros recursos

Controles Host de Excel