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!