Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 08-03-2023
chenech chenech is offline
Miembro
 
Registrado: dic 2013
Posts: 72
Poder: 11
chenech Va por buen camino
Esto en en VCL, no se si en FMX será igual. Yo lo tengo pero en C++ Builder y lo hago en DrawColumnCell, si alguien lo puede convertir a Delphi:
Si es NOMCLI un color, si es PRT otro, etc,, y si es la seleccionada rojo y negrita, y para la columna 0 otro color, espero te sirva.

Código:
void __fastcall TForm416::DBGrid1DrawColumnCell(TObject *Sender, const TRect &Rect,
					int DataCol, TColumn *Column, TGridDrawState State)
{
	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);

// Aqui cambio solo la primera columna si es S o P

	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: 08-03-2023 a las 15:53:11.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pintar Celdas DBGrid si cumple cierta condicion. Lenny Varios 4 07-04-2022 01:49:10
No mostrar form segun condicion en el create jars Varios 7 25-04-2014 18:01:43
quiero Agrupar según condición FastReport vicentnew Impresión 5 18-07-2012 01:41:07
Consulta que obtiene campos de una tabla u otra según condición Gabo SQL 10 20-08-2007 08:53:02
Cambiar de color una fila de un Dbgrid segun una condicion... hook Varios 5 12-07-2005 23:40:36


La franja horaria es GMT +2. Ahora son las 21:55:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi