GARANTIR DESCONTO

Fórum Pintar linha inteira do DBGrid? #319406

18/04/2006

0

Pessoal!

Alguém sabe me dizer como faço para pintar a linha inteira de um campo selecionado no DBGrid?
Ao clicar em uma célula no DBGrid, preciso que toda a linha fique em outra cor...


Obrigado!


Tomew

Tomew

Responder

Posts

06/08/2007

Steve_narancic

Também preciso implementar este recurso, alguém teria alguma idéia?


Responder

Gostei + 0

06/08/2007

Madxande

Eu fiz uma rotina que muda a cor do dbGrid conforme umas condições, vou colocar o código e explicar.

Rotina para mudar a cor do dbGrid em tempo de execução:

Nome do dbGrid: [b:a9965dec24]DBG_Dev[/b:a9965dec24]

[b:a9965dec24]//Primeiro, vc vai abrir o evento do dbGrid DrawColumnCell[/b:a9965dec24]

procedure TF_Devolucoes.DBG_DevDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if SDS_Dev.Active then
begin
if SDS_Dev.RecordCount > 0 then
begin
if (SDS_DevPAGO.AsString = ´S´) and (SDS_DevDT_ENTRADA.AsDateTime <= SDS_DevDT_RETORNO.AsDateTime) then
begin
[b:a9965dec24]// esse próximo if iestá verificando se a coluna do dbGrid está selecionada.[/b:a9965dec24]
if (gdSelected in State) then
begin
[b:a9965dec24]// Aqui eu defini a cor da coluna do dbGrid para Verde com a fonte branca.[/b:a9965dec24]
DBG_Dev.Canvas.Brush.Color := clGreen;
DBG_Dev.Canvas.Font.Color := clWhite;
end
else
begin
[b:a9965dec24]// Aqui eu defini a cor da coluna do dbGrid para Verde Claro com a fonte preta.[/b:a9965dec24]
DBG_Dev.Canvas.Brush.Color := clLime;
DBG_Dev.Canvas.Font.Color := clBlack;
end;
end;
end;
end;

[b:a9965dec24]Aqui estou aplicando as mudanças de cores definitivamente no dbGrid.[/b:a9965dec24]
DBG_Dev.DefaultDrawDataCell(Rect, DBG_Dev.columns[datacol].field, State);
end;

---

Espero ter ajudado.

Até mais.


Responder

Gostei + 0

06/08/2007

Bruno Belchior

Basta ativar o flag, [b:fa905ae2f3]dbRowSelect[/b:fa905ae2f3] da propriedade options do DBGrid e a linha inteira ficará em destaque...


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar