Fórum Mostrar a linha do grid em vermelho se for 0 #351409
04/01/2008
0
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
Curtir tópico
+ 0Posts
04/01/2008
Devmedia
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.
Gostei + 0
04/01/2008
Picyka
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;
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);
Gostei + 0
05/01/2008
Robinhocne
IbTransaction
IbDataBase
IbQuery
? :shock:
Gostei + 0
05/01/2008
Edilcimar
http://forum.devmedia.com.br/viewtopic.php?t=52587&highlight=cor+dbgrid
Gostei + 0
05/01/2008
Devmedia
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)