Programación General > C++ Builder

 Poner color a las filas del DBGrid

(1/2) > >>

Britomartis:
Hola kiero poner color a las filas del DBGrid (una fila clara y otra oscura) para no mezclarlas al leer. Cómo lo puedo hacer. Y cómo puedo hacer para que cuadno se pase el cursor por encima de una fila esta cambie de color. Muchas gracias por ayudarme.

juanC2:
void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender, const TRect &Rect, TField *Field, TGridDrawState State)
{
  if ((Table1->RecNo % 2) == 0)
     DBGrid1->Canvas->Brush->Color = clGray;
  else
       DBGrid1->Canvas->Brush->Color = clWhite;

  if(State.Contains(gdSelected))
  { DBGrid1->Canvas->Font->Color = clWhite;
    DBGrid1->Canvas->Brush->Color = clNavy;
  }

  DBGrid1->DefaultDrawDataCell(Rect, Field, State);
}

nicolas2109:
Buenos días:
Soy bastante novato y no logro que funcione el evento.
Sirve,  ¿ si uno de los campos de la fila tiene un valor ?
No encuentro que datos hay que pasar a la función.
¿ que variables o parámetros hay que pasar ?.
Saludos

chenech:
No hay que pasar nada a la función, ve a propiedades del grid, busca el evento drawdatacell y copia el código que ha puesto juanC2, pero copia solo el código de la función, lo que está dentro de las { } y si el grid no se llama Grid1, pues lo cambias por el nombre que le hayas puesto.

Un saludo.

nicolas2109:
Correcto Chenech, el evento esta bien. Problema que variables uso para llamarlo-> TRect &Rect, TField *Field, TGridDrawState State
Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa