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.

Índice de Contenido
  1. ¿Cómo funciona?
    1. SetGridProperties
    2. FillData
    3. ChangeRowColor
  2. Interacción del usuario
  3. Aprovecha el resaltado a tu favor

¿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.

Cómo utilizar Perl para mejorar tus tareas de línea de comandos en UNIX

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.

Obtén información del sistema operativo y las unidades con el control SysInfo y FileSystemObject

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

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.