2. ListObject (control)
El control ListObject es una lista que expone eventos y se puede
enlazar a datos. Al agregar una lista a una hoja de cálculo, Visual
Studio crea un control ListObject que se puede programar
directamente sin tener que recorrer el modelo de objetos de
Microsoft Office Excel.
Se aplica a: La información de este tema se aplica al documento-
proyectos y agregar de VSTO de nivel-en los proyectos de Excel.
Para obtener más información, consulte características disponibles
por tipo de aplicación y el proyecto de Office.
3. Crear el control
En proyectos de nivel de
documento, puede agregar
controles ListObject a la hoja de
cálculo en tiempo de diseño o en
tiempo de ejecución. En proyectos
de complemento de VSTO, puede
agregar controles ListObject a hojas
de cálculo solo en tiempo de
ejecución. Para obtener más
información, vea Cómo: Agregar
controles ListObject a hojas de
cálculo.
Enlazar datos al control
Un control ListObject admite el enlace de
datos simple y complejo. El control
ListObject se puede enlazar a un origen
de datos mediante las propiedades
DataSource y DataMember en tiempo de
diseño o el método SetDataBinding en
tiempo de ejecución.
Mejorar el rendimiento en
controles ListObject
La lectura de un archivo XML en un
control ListObject de enlace de datos
tiende a ser más lenta si se enlaza
primero el control y luego se llama a
ReadXml para rellenar el conjunto de
datos. Para mejorar el rendimiento,
llame a ReadXml antes de enlazar el
control.
4. Desconectar controles
ListObject del origen de datos
Después de rellenar un control
ListObject con datos mediante el
enlace a un origen de datos, puede
desconectarlo para que las
modificaciones realizadas en los datos
del objeto de lista no afecten al origen
de datos.
Restaurar el orden de las columnas y las filas
Cuando se enlazan datos a un control ListObject
que se ha agregado a un documento en tiempo
de diseño, Visual Studio realiza un seguimiento
del orden de columnas y filas cada vez que se
guarde el libro. Si un usuario mueve las
columnas o filas de ListObject durante el tiempo
de ejecución, se conservará el orden nuevo la
próxima vez que se abra el libro y el control
ListObject se enlazará al origen de datos nuevo.
Si desea restaurar ListObject a su orden original
de columnas y filas, puede llamar al método
ResetPersistedBindingInformation . Este método
quita las propiedades de documento
personalizadas relacionadas con el orden de
columnas y filas especificado en ListObject.
Llame a este método desde el evento Shutdown
del libro si no desea conservar el orden de
columnas y filas de ListObject.
5. Formato
El formato que puede aplicarse a un control ListObject
también puede aplicarse a un control ListObject . Esto
incluye bordes, fuentes, formato de número y estilos. Los
usuarios finales pueden reorganizar las columnas en un
enlace ListObject de datos, y estos cambios se conservarán
con el documento, siempre ListObject que el se haya
agregado al documento en tiempo de diseño. La próxima
vez que se abre el documento, el objeto de lista se enlazará
al mismo origen de datos, pero el orden de las columnas
reflejará los cambios de los usuarios.
6. Eventos
Los eventos siguientes están disponibles para el control ListObject :
BeforeAddDataBoundRow
BeforeDoubleClick
BeforeRightClick
BindingContextChanged
Change
DataBindingFailure
DataMemberChanged
DataSourceChanged
Deselected
ErrorAddDataBoundRow
OriginalDataRestored
Selected
SelectedIndexChanged
SelectionChange
7. Cómo cambiar el tamaño de los controles ListObject
Aunque se puede establecer el tamaño de un control
ListObject al agregarlo a un libro de Microsoft Office
Excel, podrían ser necesarios cambios posteriores. Por
ejemplo, conviene cambiar una lista de columnas de dos
a tres columnas.
Se aplica a: La información de este tema se aplica al
documento-proyectos y agregar de VSTO de nivel-en
los proyectos de Excel. Para obtener más información,
consulte características disponibles por tipo de
aplicación y el proyecto de Office.
En proyectos de nivel de documento, el tamaño de los
controles ListObject se puede cambiar en tiempo de
diseño o en tiempo de ejecución. Puede cambiar el
tamaño de los controles de ListObject en tiempo de
ejecución en un proyecto de complemento de VSTO.
8. Cambiar el tamaño de un control ListObject en tiempo de
diseño
Para cambiar el tamaño de una lista,
puede hacer clic y arrastrar uno de los
controladores de tamaño, o puede
volver a definir su tamaño en el
cuadro de diálogo Cambiar el tamaño
de la lista .
Para cambiar el tamaño de una lista
mediante el cuadro de diálogo
Cambiar el tamaño de la lista
Haga clic en cualquier lugar de la
tabla ListObject. Aparece la pestaña
herramientas de tabla > diseño en la
cinta de opciones.
En la sección Propiedades, haga clic
en cambiar el tamaño de la tabla.
Seleccione el nuevo rango de datos
de la tabla.
Haga clic en Aceptar.
9. Cambiar el tamañode un controlListObject en tiempode ejecución en un
proyectode nivelde documento
Puede cambiar el tamaño de un
control ListObject en tiempo de
ejecución usando el método Resize .
No puede usar este método para
mover el control ListObject a una
nueva ubicación en la hoja de cálculo.
Los encabezados deben permanecer
en la misma fila y el cambio de
tamaño del control ListObject debe
superponerse sobre el objeto de lista
original. El control ListObject con el
tamaño cambiado debe contener una
fila de encabezado y al menos una fila
de datos.
Para cambiar el tamaño de un
objeto de lista mediante
programación
Cree un control ListObject que
abarque de la celda A1 a la B3 en
Sheet1.
Cambie el tamaño de la lista para
incluir las celdas de la A1 a la C5.
10. Cambiar el tamañode un ListObject en tiempode ejecuciónen un proyectode
complementode VSTO
Se puede cambiar el tamaño de
un control ListObject en tiempo
de ejecución en cualquier hoja de
cálculo abierta. Para obtener más
información sobre cómo agregar
un control de ListObject a una
hoja de cálculo mediante un
complemento de VSTO, consulte
Cómo: agregar controles
ListObject a hojas de cálculo.
Para cambiar el tamaño de un
objeto de lista mediante
programación
Cree un control ListObject que
abarque de la celda A1 a la B3 en
Sheet1.
Cambie el tamaño de la lista para
incluir las celdas de la A1 a la
C5.
11. Formularios , propiedades métodos y eventos
En esta sección se ven las características principales de los Formularios. Como
vimos en la página anterior, los formularios son las ventanas que contienen a
otros controles y en ellos podemos incluir controles de comando, como botones,
cajas de texto, controles para bases de datos, y por supuesto el código
necesario de nuestros programas.
También se dijo, los controles e inclusive los Formularios tienen sus propias
características, como las propiedades (un ejemplo el color del fondo o
propiedad Backcolor), sus eventos (el evento load que se ejecuta cuando
cargamos el formulario en memoria), y sus métodos (por ejemplo el método
show que es para mostrar el formulario y el método hide que es para ocultarlo,
en el caso de un formulario.
Acá hay que hacer una cosa muy importante. Cuando se comienza a
programar, suele ser muy casual confundir métodos y eventos y no son lo
mismo. Los métodos son funciones propias de cada objeto, por ejemplo el
método hide de un formulario no lo posee un command button. Con los eventos
suele ocurrir lo mismo. Un formulario posee el evento load y un command
button no lo posee (a no ser que pertenezca un arreglo de controles pero ese es
otro tema que se verá en otra ocasión).
Pero otros eventos si los comparten ambos. Siguiendo el ejemplo del formulario
y el botón, los dos tienen un evento llamado Click, y todas las instrucciones de
código que escribamos en la rutina de código o procedimiento que estén bajo
este evento, se ejecutarán cuando hagamos un Click con el mouse sobre el
objeto. El evento Click lo poseen la mayoría de los controles, pero no tiene
porque ser así.
12. Ejemplo sobre métodos y eventos
1 - Comenzá un nuevo proyecto Exe. Por defecto visual
basic te agrega un formulario llamado Form1. este
formulario contendrá el botón que al presionarlo muestre
otro formulario, en este caso un Form2.
2 - Desde la barra de controles agregá un
Commandbutton al formulario. Por defecto el texto que
muestra es Command1 , nosotros lo cambiaremos por :
"Mostrar formulario 2".
Ahora selecciona el botón para que te muestre la lista de
propiedades del mismo. Por si ya te olvidaste, la ventana de
propiedades está a la derecha y te muestra las propiedades
del objeto seleccionado actualmente en el entorno de
trabajo del vb. Una ves seleccionado el botón, buscá la
propiedad caption y escribí : mostrar formulario 2
3 - Ahora hay que agregar el otro formulario es decir el
Form2 a nuestro proyecto. Como en la barra de controles
no tienes la opción de agregar otros formularios, tendrás
que agregarlo desde la barra de menú >proyecto>
Agregar formulario.
Te va a aparecer un cuadro de diálogo y eliges la opción
formulario. Como podés ver se ha agregado otro
formulario llamado form2, y la ventana del explorador de
proyectos ahora contiene 2 formularios.
4 - Ahora tenemos que introducir el código en el
command1 que insertamos en el Form1, para que cuando
ejecutemos el programa , al presionar el Command1 nos
muestre el form2 que agregamos anteriormente. Para esto
tenés que volver a ir al Form1, haciendo un click en la
ventana de explorador de proyectos (la imagen de arriba)
y seleccioná el form1.
5 - Para ingresar el código al botón, hacé doble click en
el mismo e ingresá la siguiente instrucción de código:
Form2.show.
6 - Corre el programa pulsando la tecla F5 para ver como
funciona. Para terminarlo pulsa el ícono con la imagen de
un cuadrado azul desde la barra de herramientas.