FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Comportamiento en cambio de color celda DBGRID
Hola a todos:
tengo este código para cambiar de color a AMARILLO o si es salida y verde si es ENTRADA sin embargo en el grid si traigo mediante un procedimiento todas las entradas el color es correcto pero si en el procedimiento traigo "Todo" ENTRADA Y SALIDAS se pone Amarillo las Entrada y Verde la Salida pero solamente cuando traigo todo los movimientos.
Agradeciendo cualquier comentario referente a este comportamiento. También adjunte imagen donde se muestra esto. Saludos y Bendiciones pd: como se hace para adjuntar directamente las imagenes? |
#2
|
|||
|
|||
Lo siento se ve espantoso la imagen
Saludos |
#3
|
||||
|
||||
Te falta "repintarlo" con los cambios, algo así:
|
#4
|
||||
|
||||
Mira este ejemplo tan completo.
|
#5
|
|||
|
|||
Cita:
cabe señalar que
|
#6
|
|||
|
|||
En C++ Builder
Yo con esto pongo el fondo en amarillo, rojo o verde según el estado del campo LIMPIA si es S o N o P, no se si será algo así lo que necesitas, a mi me funciona muy bien y rápido pintando el grid con cientos de filas. En C++ Builder, lo siento pero no me entero de Delphi, si alguien lo traduce. Un saludo.
Código:
TDataSet *dataset = Column->Field->DataSet; if(dataset->FieldByName("NOMCLI")->AsString.Length() < 1) DBGrid1->Canvas->Brush->Color = clCream; else { if(dataset->FieldByName("NOMHAB")->AsString == "¡¡¡ BLOQUEADA !!!") DBGrid1->Canvas->Brush->Color = clSilver; else DBGrid1->Canvas->Brush->Color = clSkyBlue; } if(dataset->FieldByName("TIPOHAB")->AsString.SubString(1, 3) == "PRT") DBGrid1->Canvas->Brush->Color = clOlive; // Para lo seleccionado cambio el color a rojo y negrita if(State.Contains(Grids::gdSelected)) { // DBGrid1->Canvas->Font->Color = clRed; DBGrid1->Canvas->Font->Style = TFontStyles() << fsBold; } DBGrid1->DefaultDrawColumnCell(Rect, DataCol, Column, State); if(DataCol == 0) { if(dataset->FieldByName("LIMPIA")->AsString == "S") DBGrid1->Canvas->Brush->Color = clGreen; else { if(dataset->FieldByName("LIMPIA")->AsString == "P") DBGrid1->Canvas->Brush->Color = clYellow; else DBGrid1->Canvas->Brush->Color = clRed; } DBGrid1->DefaultDrawDataCell(Rect, Column->Field, State); } |
#7
|
||||
|
||||
No entiendo qué dices
|
#8
|
|||
|
|||
Cita:
lo que requiero es sólo la celda de la columna especifica.
Gracias por tu código igual me parece interesante como se muestra la info. pero el requerimiento es por celda. Saludos y Bendiciones. novato_erick |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cambiar de color una celda de dbgrid | zeta2 | Conexión con bases de datos | 14 | 01-07-2016 23:33:12 |
DBGrid Color Celda | hcalero | Varios | 2 | 13-04-2007 13:37:42 |
Cambio de color en el fondo de un DBGrid | manu | Conexión con bases de datos | 1 | 31-12-2006 18:58:26 |
Cambiar el color de una celda de un DBGrid | candido | OOP | 2 | 06-08-2004 10:22:28 |
Cambio color en una linea dbgrid | nugame | Gráficos | 2 | 19-05-2003 17:58:29 |
|