Como pintar linhas do DBGRID aleatóriamente?

30/07/2008

1

Peciso colocar a opção de pintar a linha do dbgrid quando o usuario escolher fazer isso no PopUpMenu. No evento OnDrawColumnCell faço corretamente. Mas como fazer isso aleatóriamente?


Responder

Posts

30/07/2008

Lcfinformatica

Já descobri como fazer. Mas obrigado por ler mesmo assim.


Responder

30/07/2008

.lg.

Já descobri como fazer. Mas obrigado por ler mesmo assim.

Ue...
Posta ae pra gente. Tem como!?
Gostaria de saber como fazer isso. :D

Agradeço desde ja.
.lg.


Responder

30/07/2008

Leandrosl

Aproveitando o tópico,

Eu estou usando a seguinte linda de comando para mudar a cor de uma linha do DBGrid:

If QueryContas_Pagar.FieldByName(´Data_Pagamento´).AsDateTime>QueryContas_Pagar.FieldByName(´Data_Vencimento´).AsDateTime Then
  Begin
      DBGridPagar_Receber.Font.Color:=clBlue;
      DBGridPagar_Receber.Canvas.Font.Color:= 0;
      DBGridPagar_Receber.Canvas.Font.Style := [fsBold];
     DBGridPagar_Receber.DefaultDrawDataCell(Rect, Column.Field, State);
   End;

O grid muda de cor mais acontece que ele fica como se estivesse em loop infinito, não sei o que pode ser mais alguém poderia me ajudar ?

Obs: O código está no OnDrawColumnCell do DBGrid

Obrigado


Responder

30/07/2008

.lg.

Leandrosl,
Pelo que estou entendendo do seu código, você faz com que ele mude a cor da palavra certo!?

Eu preciso de algo parecido.
Teria como você me explicar o que essas linhas fazem!? seria de grande ajuda.
DBGridPagar_Receber.Canvas.Font.Color:= 0; 
DBGridPagar_Receber.Canvas.Font.Style := [fsBold];
DBGridPagar_Receber.DefaultDrawDataCell(Rect, Column.Field, State);



Responder

30/07/2008

Leandrosl

Na verdade eu quero mudar é a cor da linha e não da palavra,

If QueryContas_Pagar.FieldByName(´Data_Pagamento´).AsDateTime>QueryContas_Pagar.FieldByName(´Data_Vencimento´).AsDateTime Then
  Begin
      DBGridPagar_Receber.Font.Color:=clBlue;
      DBGridPagar_Receber.Canvas.Font.Style := [fsBold];
     DBGridPagar_Receber.DefaultDrawDataCell(Rect, Column.Field, State);
   End;



Fiz uma correção no codigo pq tinha uma linha que estava errada mais ainda continuo com problema.

Obrigado


Responder