Fórum Grid color. Outra forma #209990

27/01/2004

0

Usei este comando abaixo para colorir as linhas do grid, sempre que
o campo qdvend, de minha tabela, fosse maior que zero, mas não acon
teceu nada. Como fazer?

procedure TfrmVenda.GridDrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if Dm.Estoque.FieldByName(´qdvend´).AsFloat > 0 then begin
Grid.Canvas.Brush.Color:=clRed;
Grid.Canvas.Font.Color:=clBtnText;
Grid.Canvas.FillRect(Rect);
Grid.Canvas.TextOut(Rect.Left+2, Rect.Top+2, Field.Text);
end;
end;


Paulo

Paulo

Responder

Posts

28/01/2004

Fabio.hc

Eu peguei o seu código, troquei pela minha tabela, no meu ex. coloriu a linha inteira de vermelho em todas as linhas que o campo size fosse maior que 10.

Ex:
procedure TForm1.GridDrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin
//if Dm.Estoque.FieldByName(´qdvend´).AsFloat > 0 then begin
   if Table1.FieldByName(´size´).AsFloat > 10 then begin
      Grid.Canvas.Brush.Color:=clRed;
      Grid.Canvas.Font.Color:=clBtnText;
      Grid.Canvas.FillRect(Rect);
      Grid.Canvas.TextOut(Rect.Left+2, Rect.Top+2, Field.Text);
   end;
end;


Pode ser alguma coisa no campo qdvenda, tipo do campo ou no datamodule.estoque, tente remover o campo e adicionar de novo.
Dá uma olhada no datasource do dbgrid, para onde ele aponta.
Faça o if DM.Estoque.FieldByName.... com outro campo, só para testar.
...


Responder

Gostei + 0

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

Aceitar