Muitos programadores que estão iniciando e até alguns mais avançados, têm dificuldade em mudar a cor da linha do DBGrid no Delphi. Um dos fatores que confundem um pouco, é qual evento utilizar. Então vamos lá!
O DBGrid, é o primeiro componente que aparece na paleta Data Controls na IDE do Delphi. É um dos componentes mais utilizados pelos programadores e está presente na maioria dos projetos desenvolvidos.
Isso se deve ao fato da facilidade e simplicidade em listar para o usuário os dados contidos em uma determinada tabela no banco de dados.
Um fator muito importante para o seu projeto, além da funcionalidade, é a aparência das suas telas. Utilizar combinação de cores em determinadas situações ajuda muito. Veja abaixo como mudar a cor da linha do DBGrid no Delphi.
No exemplo a seguir, vou utilizar uma tabela de produtos com a seguinte estrutura:
A tabela contém os seguintes produtos cadastrados:
COMO MUDAR A COR DA LINHA DO DBGRID NO DELPHI
1. DBGrid na sua cor original

2. Evento a ser programado: OnDrawColumnCell

3. Código a ser programado no evento OnDrawColumnCell

Copie abaixo o código e cole no evento OnDrawColumnCell:
{alterando a cor da linha atual selecionada}
if (gdSelected in State) or (gdFocused in State) then
TDBGrid(Sender).Canvas.Brush.Color:=clGradientInactiveCaption
else TDBGrid(Sender).Canvas.Brush.Color:=clWindow;
{alterando a cor da fonte dos produtos cancelados}
if cdsProdutosCANCELADO.AsString=’S’ then {substituir pela sua condição}
TDBGrid(Sender).Canvas.Font.Color:=clRed
else TDBGrid(Sender).Canvas.Font.Color:=clBlack;
{alterando a cor da fonte da coluna “CÓDIGO”}
if DataCol=0 then
TDBGrid(Sender).Canvas.Font.Color:=clGreen;
{alterando a cor de fundo da coluna “VALOR”}
if DataCol=2 then
TDBGrid(Sender).Canvas.Brush.Color:=clAqua;
{atualizando a visualização do DBGrid}
Grid.Canvas.FillRect(Rect);
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
4. Resultado final – DBGrid personalizado

Conclusão:
Utilizamos o componente nativo do Delphi, DBGrid, e alteramos a cor da fonte da coluna “CÓDIGO” para clGreen. Alteramos a cor de fundo da coluna “VALOR” para clAqua. Alteramos a cor da linha atual selecionada para clGradientInactiveCaption e alteramos a cor da fonte do produtos cancelados para clRed. Toda a programação feita foi no evento OnDrawColumnCell do DBGrid.
Download do Projeto Utilizado no Exemplo
Espero que tenham gostado. 😀
Dúvidas? Deixe seu comentário abaixo.
QUER APRENDER A PROGRAMAR EM DELPHI? CLIQUE AQUI!