Cómo alternar los colores de las filas en un control de cuadrícula
Los controles de cuadrícula se utilizan a menudo para mostrar grandes cantidades de datos, lo que a menudo dificulta la lectura. Una forma de mejorar la legibilidad de los datos en la cuadrícula es alternar los colores de las filas. Una variedad de controles personalizados te permitirán hacer esto seleccionando las propiedades del control sin necesidad de programar. Sin embargo, cuando el presupuesto es ajustado, puedes utilizar unas pocas líneas de código para lograr el mismo efecto con un control de cuadrícula regular. Aquí te mostramos cómo alternar las filas en el control de cuadrícula para lograr este efecto visual sin tener que comprar costosos controles personalizados.
![Cómo alternar los colores de las filas en un control de cuadrícula - Video](https://i.ytimg.com/vi/4LQKdtrrIAc/hqdefault.jpg)
¿Cómo funciona?
La técnica se basa en tres subrutinas que se llaman en el evento Form Load: SetGridProperties, FillData y ChangeRowColor.
SetGridProperties
SetGridProperties establece las propiedades del control de cuadrícula, especificando el número de filas y columnas, configurando los encabezados de columna y estableciendo el modo de selección.
FillData
En FillData, agregamos los datos a la cuadrícula. Normalmente, los datos provendrían de una base de datos o un archivo, pero para este ejemplo, simplemente codificaremos datos de muestra.
ChangeRowColor
ChangeRowColor se encarga de la modificación del color de fondo completa. Observa que la función acepta un parámetro (bSelected como Booleano). Usamos esto para distinguir entre la primera vez que se muestra el control y el momento en que "repintamos" el control después de que un usuario haya hecho clic en una celda. En el evento Form Load, llamamos a esta función pasando el valor False a bSelected.
En ChangeRowColor, recorremos todas las filas de la cuadrícula y comprobamos si el residuo de la división de i (número de fila) entre 2 es 0 (es un número par). Si el número es par, cambiamos el color de fondo de la celda a cian (vbCyan); si el número es impar, cambiamos el fondo a blanco (vbWhite). Dado que tenemos que hacer esto para cada columna de la fila en particular, tenemos un bucle dentro del bucle para recorrer todas las columnas. El Listado A muestra el código.
![](https://newsmatic.com.ar/wp-content/uploads/como-utilizar-perl-para-mejorar-tus-tareas-de-linea-de-comandos-en-unix-150x150.png)
Interacción del usuario
Cuando un usuario hace clic en una celda de la cuadrícula, queremos que toda la fila cambie a un color alternativo. Primero, establece la propiedad redraw de la cuadrícula en False (para evitar el parpadeo de la pantalla) y llama nuevamente a la rutina ChangeRowColor, pero esta vez pasa True para bSelected. En ChangeRowColor, si bSelected es True, obtendremos el valor de la fila que el usuario haya seleccionado y cambiaremos su color de fondo a un color diferente. En este caso, utilizamos el color del sistema vbMenuBar. Una vez hecho esto, establece la propiedad redraw de la cuadrícula nuevamente en True.
Cuando ejecutes el proyecto de ejemplo, observa que los colores de las filas se alternan entre blanco y cian. Haz clic en cualquier celda y toda la fila cambiará de color.
Descarga el código incluido en este artículo
Aprovecha el resaltado a tu favor
En el ejemplo, utilizamos una pequeña cuadrícula para demostrar una forma sencilla de alternar los colores de las filas del control de cuadrícula. En aplicaciones de la vida real, donde se muestra grandes cantidades de datos, este truco facilitará que los usuarios puedan mantenerse al tanto de la fila en la que están enfocados.
![](https://newsmatic.com.ar/wp-content/uploads/obten-informacion-del-sistema-operativo-y-las-unidades-con-el-control-sysinfo-y-filesystemobject-150x150.jpg)
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo alternar los colores de las filas en un control de cuadrícula , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados