GARANTIR DESCONTO

Fórum Mostrar a linha do grid em vermelho se for 0 #351409

04/01/2008

0

Bom,
estou fazendo dessa maneira para que quando nessa coluna for 0 mostrar a linha em vermelho, mas não está funcinando, alguém poderia me ajudar?

      if dbglan.Fields[5].AsString = ´0´ Then
         Begin
            dbglan.Canvas.Font.Color:= clred
         End
      Else
         Begin
            dbglan.Canvas.Font.Color:= clBlack ;
         End;



Robinhocne

Robinhocne

Responder

Posts

04/01/2008

Devmedia

Amigo robinhocne.
Tudo bom cara?

Tente isto:
If Column.Field = DM.ClientDataSetGrid.FieldByName(´EM_ESTOQUE´) then
   Begin
   If DM.ClientDataSetGrid.FieldByName(´EM_ESTOQUE´).AsString <= ´0´ then
      Begin
         DBGridProdutos.Canvas.Font.Style := DBGridProdutos.Canvas.Font.Style + [fsbold];
         DBGridProdutos.Canvas.Font.Color := clRed;
         DBGridProdutos.DefaultDrawDataCell(rect,Column.Field,state);
      end;
   end;



Se não funcionar. Dá um grito aqui de volta.
Um abraço.
Att.


Responder

Gostei + 0

04/01/2008

Picyka

Amigo robinhocne. Tudo bom cara? Tente isto:
If Column.Field = DM.ClientDataSetGrid.FieldByName(´EM_ESTOQUE´) then
   Begin
   If DM.ClientDataSetGrid.FieldByName(´EM_ESTOQUE´).AsString <= ´0´ then
      Begin
         DBGridProdutos.Canvas.Font.Style := DBGridProdutos.Canvas.Font.Style + [fsbold];
         DBGridProdutos.Canvas.Font.Color := clRed;
         DBGridProdutos.DefaultDrawDataCell(rect,Column.Field,state);
      end;
   end;
Se não funcionar. Dá um grito aqui de volta. Um abraço. Att.

no DrawColumnCell do dbgrid
tente assim que eu tenhu certeza q funciona
If dmc.ClientDataSetLocReferenciaQTDE_ESTOQUE.AsInteger <= DM.ClientDataSetReferenciaEST_MINIMO.AsInteger then
begin
Dbgrid1.Canvas.Font.Color:= clRed; // coloque aqui a cor desejada
Dbgrid1.DefaultDrawDataCell(Rect, DBGrid1.Fields[Datacol], State);


Responder

Gostei + 0

05/01/2008

Robinhocne

Amigos eu não uso clientdataset para a conexão do banco de dados, uso apenas tres componentes da InterBase

IbTransaction
IbDataBase
IbQuery

? :shock:


Responder

Gostei + 0

05/01/2008

Edilcimar

veja este tópico que eu coloquei, talvez te ajude
http://forum.devmedia.com.br/viewtopic.php?t=52587&highlight=cor+dbgrid


Responder

Gostei + 0

05/01/2008

Devmedia

Amigo robinhocne.
Tudo bom cara?

Olha, na minha resposta anterior esqueci de mencionar para voce implementar este codigo no seu DrawCollumnCell do DBGrid. No Codigo que lhe passei, segue:

If Column.Field = DM.ClientDataSetGrid.FieldByName(´EM_ESTOQUE´) then 
   Begin 
   If DM.ClientDataSetGrid.FieldByName(´EM_ESTOQUE´).AsString <= ´0´ then 
      Begin 
         DBGridProdutos.Canvas.Font.Style := DBGridProdutos.Canvas.Font.Style + [fsbold]; 
         DBGridProdutos.Canvas.Font.Color := clRed; 
         DBGridProdutos.DefaultDrawDataCell(rect,Column.Field,state); 
      end; 
   end; 


Voce somente tem que alterar [color=blue:57088c0b5a]DM.ClientDataSetGrid.FieldByName(´EM_ESTOQUE´)[/color:57088c0b5a] referenciamento a sua forma de conexão com a tabela e o campo, normalmente como voce utiliza o IBQuery.

Ahh e o nome do DBGrid tambem.

Teste, que certeza de funcionar.
Qualquer coisa, retorna um grito aqui.
Um abraço.
Att.


Responder

Gostei + 0

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

Aceitar