Fórum Colorir celula DBGrid #369088
16/03/2009
0
Como posso fazer para colorir a celula do dbgrid na seguinte situação:
if tempo1 > tempo2 then
begin
dbgrid.CelulaQueGuardaOTempo := Verde;
else
begin
dbgrid.CelulaQueGuardaOTempo := Vermelho;
end;
Onde ´tempo1´ é o tempo determinado e ´tempo2´ é o tempo real de entrega.
Então se o tempo determinado for maior que o tempo real: ok carga entregue dentro do tempo, a celula ´tempo´ recebe a cor verde. Caso o contrário a carga não foi entregue no tempo, então a celula ´tempo´ recebe a cor vermelha.
Obrigado a todos.

Ricklorente
Curtir tópico
+ 0Posts
16/03/2009
Woinch
1 2 3 4 5 6 | procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin DBGrid1.Canvas.Brush.Color := clRed; //Pinta de vermelho o fundo de todas as células do DBGrid end; |
Apenas adapte esse exemplo para a sua situação.
Espero ter ajudado.
Gostei + 0
16/03/2009
Ricklorente
Obrigado.
Gostei + 0
17/03/2009
Woinch
Veja:
1 2 3 4 5 6 7 8 9 10 11 12 | procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin if ((gdSelected in State) and (gdFocused in State)) then DBGrid1.Canvas.Font.Color := clBlack; if (Field.FieldName = ´NomeDaColuna´) then DBGrid1.Canvas.Brush.Color := clRed; DBGrid1.DefaultDrawDataCell(Rect, Field, State); end; |
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)