Habitualmente mostramos los datos en un gridview más o menos "tuneados" que dirían, usando las propiedades de dicho control.
Hasta aquí todo bien. El problema, cuando en función a un determinado valor se debía cambiar cierta propiedad.
En el caso que me ocupaba, si obtenía del registro de la tabla o vista que mostraba en el gridview, una E, debía escribir una E y establecer la propiedad BackColor de tal modo que fuese Amarillo. Y si obtenía una P, pues escribiría el valor P y el color Rojo.
Para ello:
/1/ "Editar Columnas" de las opciones de la etiqueta inteligente del GridView.
/2/ Seleccionar el campo sobre el que deseamos proceder y convertirlo en template, para ello nos posicionamos y "Convertir este informe en TemplateField". Y Aceptar.
/3/ "Editar Plantillas" de las opciones de la etiqueta inteligente del GridView. Debemos estar en la plantilla ItemTemplate.
/4/ Seleccionar el Label de la plantilla, y "Editar DataBinding ..." de las opciones de la etiqueta inteligente del Labek.
/5/ En la propiedad Text, establecer "Con enlace a" y seleccionamos nuestro campo, es este caso el mío era Estado.
/6/ Activamos "Mostrar todas las propiedades"
/7/ Nos desplazamos a la propiedad BackColor.
/8/ Activamos "Personalizar enlace", y escribimos:
IIf(Eval("Estado")="E",System.Drawing.Color.Yellow,
System.Drawing.Color.Red)
O dicho de otro modo, si el valor del campo de Estado es E entonces, fondo amarillo y si no fondo rojo.
También se puede establecer el color en modo hexadecimal, debiendo sustituir lo que proceda por:
System.Drawing.Color.FromName("#FFFF80")
Al final, el entorno Visual Studio genera esta línea por si puede ser más claro todo (click para ampliar):
Nada más.
1 comentario:
Muchas Gracias por tu aporte, me fue de gran ayuda.
Saludos desde Nicaragua...
Publicar un comentario