Como Alterar a Cor de uma Linha no DBGrid com Condição no Delphi

O DBGrid no Delphi permite destacar visualmente registros importantes. Uma das formas de fazer isso é alterando a cor da fonte e aplicando negrito a determinados registros com base em uma condição.

Neste tutorial, você aprenderá como mudar a cor dos registros cujas vendas são maiores que R$ 20.000,00.


Passo a Passo

1. Acesse o Evento OnDrawColumnCell

  • Selecione o componente DBGrid no Delphi.
  • No Object Inspector, vá até o evento OnDrawColumnCell.
  • Insira o código abaixo:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
  if Column.Field.FieldName = 'Vendas' then
  begin
    if Column.Field.AsFloat >= 20000 then
    begin
      DBGrid1.Canvas.Font.Color := clRed; // Define a cor do texto como vermelho
      DBGrid1.Canvas.Font.Style := [fsBold]; // Aplica negrito ao texto
    end;
  end;
  
  // Mantém o comportamento padrão do DBGrid
  DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

Explicação

Verifica a condição: O código verifica se o valor da coluna “Vendas” é maior ou igual a R$ 20.000,00.
Altera a cor e o estilo do texto: Se a condição for atendida, o texto será vermelho e negrito.
Preserva a renderização padrão do DBGrid: Chamando DefaultDrawColumnCell, garantimos que o restante da renderização do grid ocorra normalmente.


Dicas Extras

Alterar a cor do fundo: Se quiser mudar a cor de fundo da célula, use:

DBGrid1.Canvas.Brush.Color := clYellow; // Define o fundo como amarelo
DBGrid1.Canvas.FillRect(Rect); // Preenche a célula com a nova cor

Destaque para toda a linha: Se quiser que toda a linha fique colorida, aplique as alterações dentro de um if sem verificar uma coluna específica.

Outras cores disponíveis: Algumas opções são clBlue, clGreen, clAqua, clGray etc.


Conclusão

Agora você sabe como destacar visualmente registros no DBGrid do Delphi com base em uma condição específica. Isso melhora a experiência do usuário, facilitando a identificação de dados importantes.

Gostou do tutorial? Compartilhe e deixe seu comentário!

Posts Similares