Cor dbgrid errada ?

02/10/2004

tenho um programa que mostra o estoque de quatro filiais porem esta ocorrendo um erro na cor do dbgrid, sempore na coluna mais a esquerda (a de menor indice), a cor desta coluna sai na linha errada, sempre uma linha a mais que as outras, os dados estao corretos.
segue o codigo.

   Estoque1 := Query1.FieldByName(´ESTOQUE1´).AsFloat;
   Estoque2 := Query1.FieldByName(´ESTOQUE2´).AsFloat;
   Estoque3 := Query1.FieldByName(´ESTOQUE3´).AsFloat;
   Estoque4 := Query1.FieldByName(´ESTOQUE4´).AsFloat;
   If (Estoque1 <= 0) then
   Begin
      DBGrid2.Columns[5&93;.Font.Color := clRed;
      DBGrid2.Columns&91;5&93;.Color := $00DFFFFF;
   End
   Else If (Estoque1 > 0) then
   Begin
      DBGrid2.Columns&91;5&93;.Font.Color := clBlack;
      DBGrid2.Columns&91;5&93;.Color := clWhite;
   End;
   If (Estoque2 <= 0) then
   Begin
      DBGrid2.Columns[6&93;.Font.Color := clRed;
      DBGrid2.Columns&91;6&93;.Color := $00DFFFFF;
   End
   Else If (Estoque2 > 0) then
   Begin
      DBGrid2.Columns&91;6&93;.Font.Color := clBlack;
      DBGrid2.Columns&91;6&93;.Color := clWhite;
   End;
   If (Estoque3 <= 0) then
   Begin
      DBGrid2.Columns&91;7&93;.Font.Color := clRed;
      DBGrid2.Columns&91;7&93;.Color := $00DFFFFF;
   End
   Else If (Estoque3 > 0) then
   Begin
      DBGrid2.Columns&91;7&93;.Font.Color := clBlack;
      DBGrid2.Columns&91;7&93;.Color := clWhite;
   End;
   If (Estoque4 <= 0) then
   Begin
      DBGrid2.Columns&91;8&93;.Font.Color := clRed;
      DBGrid2.Columns&91;8&93;.Color := $00DFFFFF;
   End
   Else If (Estoque4 > 0) then
   Begin
      DBGrid2.Columns&91;8&93;.Font.Color := clBlack;
      DBGrid2.Columns[8&93;.Color := clWhite;
   End;
   If (Estoque1 > 0) and (Estoque2 > 0) and (Estoque3 > 0) and
      (Estoque4 > 0) then
   Begin
      DBGrid2.Columns&91;2&93;.Color := clWhite;
      DBGrid2.Columns&91;2&93;.Font.Color := $0000AF00;
   End
   Else If (Estoque1 > 0) or (Estoque2 > 0) or (Estoque3 > 0) or
      (Estoque4 > 0) then
   Begin
      DBGrid2.Columns&91;2&93;.Color := clWhite;
      DBGrid2.Columns&91;2&93;.Font.Color := $0000BFFF;
   End
   Else
   Begin
      DBGrid2.Columns&91;2&93;.Color := clWhite;
      DBGrid2.Columns&91;2&93;.Font.Color := clRed;
   End;


Eu tive que acrescentar o codigo abaixo para que uma coluna. que eu nao quero que mude a cor, tenha a cor trocada por outra que o usuario nao ira notar para que tudo funcione direito

   If Estoque1 > 0 then
   Begin;
      DBGrid2.Columns[1&93;.Color := clWhite;
      DBGrid2.Columns&91;1&93;.Font.Color := $00000000;
   End
   Else
      DBGrid2.Columns&91;1&93;.Font.Color := $00000001;


Alguem sabe o motivo deste BUG? estou usando D7


Edilcimar

Respostas

08/10/2004

Edilcimar

sobe


Responder Citar

09/10/2004

Edilcimar

Será que é só o meu delphi que tem o erro?


Responder Citar

12/10/2004

Edilcimar

sobe pela última vez


Responder Citar

09/02/2006

Firekiller_am

estou com a mesma duvida alguem sabe como posso seleciona uma coluna ou celua e pintar obrigado..


Responder Citar