GARANTIR DESCONTO

Fórum Colorir linha DBGrid #185940

02/10/2003

0

Minha dbgrid colore a fonte da linha para vermelho conforme uma condição dos campos mostrados ( manipulado no evento DBGrid1DrawColumnCell). Até aí Ok. O problema é que quando a mesma está selecionada, eu preciso mudar a cor para evitar o forte contraste com a cor de seleção do Windows, mas após o comando executar a primeira coluna da linha continua em vermelho.
Agradeço a ajuda

if (condicao) then
begin
if (State = [gdSelected])then
begin
DBGrid1.Canvas.Font.Color := clWhite;
end
else
begin
DBGrid1.Canvas.Font.Color := clRed;
end;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.DefaultDrawDataCell(Rect, Column.Field, State);


Ghibbli

Ghibbli

Responder

Posts

04/10/2003

P_lima

Use esta linha de comando, não sei se é o que vc quer, mas foi o que eu entendi. Abraço

Try
If TablePedi.FieldByName(´CAMPO TABELA´).AsString = ´P´ Then
Begin
DBGrid3.Canvas.Font.Color := clBlack;
DBGrid3.Canvas.Brush.Color := $00FFFF80;
End
Else If TablePedi.FieldByName(´CAMPO TABELA´).AsDateTime < Date Then
Begin
DBGrid3.Canvas.Font.Color := clBlack;
DBGrid3.Canvas.Brush.Color := clRed;
End
Else If TablePedi.FieldByName(´PED_DATA´).AsDateTime < Date Then
Begin
DBGrid3.Canvas.Font.Color := clBlack;
DBGrid3.Canvas.Brush.Color := $00B0FFFF;
End
Else
Begin
DBGrid3.Canvas.Font.Color := clBlack;
DBGrid3.Canvas.Brush.Color := clWhite;
End;
Except
End;
DBGrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State);

end;


// p_lima{...}


Responder

Gostei + 0

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

Aceitar