![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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);
}
|
|
#2
|
||||
|
||||
|
No entiendo qué dices
![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Sip disculpa a la finales no me expliqué lo siento creo que mis pensamientos fueron más rápido que mis dedos
.Al usar:
al usar el DBGrid1.Canvas.Font.Color := clRed me cambia el color de fuente necesito es la columna cuado está en estado de "ENTRADA" no la fuente o Fila. he notado que al poner DBGrid1.DefaultDrawDataCell(rect,Column.Field,State); me pone en negrita en Windows 10 y en Windows 11 se ve horrible. no se entiende lo que dice. Saludos; |
|
#4
|
|||
|
|||
|
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 |
|
#5
|
|||
|
|||
|
El inconveniente es por ejemplo:
https://clubdelphi.com/foros/attachm...1&d=1652130314 Espero que se pueda ver mejor la imagen. en donde donde dice ENTRADA está en amarillo y SALIDA está en Verde es algo que no encuentro cómo controlar Saludos; |
|
#6
|
|||
|
|||
|
Con esto cambio solo la celda
Código:
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);
}
Última edición por chenech fecha: 09-05-2022 a las 23:36:22. |
|
#7
|
|||
|
|||
|
Imagen
Adjunto imagen como se ve las celdas con colores
|
|
#8
|
|||
|
|||
|
Cita:
Si tienes razón hasta nuestro amigo lo menciona aquí: https://clubdelphi.com/foros/attachm...1&d=1652137628 Cita:
Saludos; |
|
#9
|
|||
|
|||
|
Solucionado Comportamiento en cambio de color celda DBGrid
Ahora si chicos en realidad el comportamiento extraño se da cuando usaba directamente el componente DBGrid para comparar la columna:
Este es la forma Antigua:
Haciendo esto por ayuda de ustedes:
En realidad fue extraño sin embargo pude solucionar obteniendo el comportamiento deseado. Saludos a todos y mil gracias novato_erick |
|
#10
|
||||
|
||||
![]() ![]() ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|