Como resolver ???? Esta Formatação ?

Delphi

07/09/2006

Estou mostrando valores em uma GRID, do tipo XXXXX,XX, tá tudo beleza a excessão do valor 0. Gostaria q quando o valor do banco fosse 0 a dbgrid mostrasse esse valor 0,00.

Uso O Oracle 8i com ADO e DBgrid .
Valeu galera !


Cabal

Cabal

Curtidas 0

Respostas

Jocelio

Jocelio

07/09/2006

tente :

´XXXX0,00´

jocelio :)


GOSTEI 0
Cabal

Cabal

07/09/2006

Isso já fiz, mas não funcionou, tem algum evendo onde a Dbgrid escreve na tela o valor do Campo, acho q neste evento posso mostrar uma máscara. Já tentei no ondrawdatacell, mas não funcionou. O problema é só quando o valor do banco é = 0. nos demais casos tá blz.
qdo o valor do banco = 0 na grid aparece 0, gostaria de mostrar 0,00.
sacou ?
Valeu !!


GOSTEI 0
Cabal

Cabal

07/09/2006

Isso já fiz, mas não funcionou, tem algum evendo onde a Dbgrid escreve na tela o valor do Campo, acho q neste evento posso mostrar uma máscara. Já tentei no ondrawdatacell, mas não funcionou. O problema é só quando o valor do banco é = 0. nos demais casos tá blz. qdo o valor do banco = 0 na grid aparece 0, gostaria de mostrar 0,00. sacou ? Valeu !!

Escrevi o seguinte Código:

procedure TForm13.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
IF field.FieldName = ´VALOR´ then
Field.EditMask := FormatFloat(´#,0,00´,Field.Value);


GOSTEI 0
Micheus

Micheus

07/09/2006

sso já fiz, mas não funcionou, tem algum evendo onde a Dbgrid escreve na tela o valor do Campo, acho q neste evento posso mostrar uma máscara. Já tentei no ondrawdatacell, mas não funcionou.
A menos que o valor não seja exatamente 0 e sim NULL, definindo a propriedade DisplayFormat do campo em questão para ´#0.00´ (use ponto não vírgula) deve funcionar.

Porque o AsString de null retorna um string ´em branco´, então utilizando a propriedade DisplayFormat e sendo o campo nulo, daria para vc escrever o evento OnGetText do campo em questão:
begin
  if Sender.IsNull then
    Text := ´0,00´
  else 
    Text := Sender.AsString;
end;



GOSTEI 0
Cabal

Cabal

07/09/2006

Evento OngetText de qual componente ??


GOSTEI 0
Micheus

Micheus

07/09/2006

Se vc adicionou um componente dataset, tipo TQuery, TTable, e a ele adiciona os fields, é na lista de fields que vc conseguirá visualizar o evento. Basta selecionar o Field em questão e localizar o evento na janela Object Inspector.


GOSTEI 0
Cabal

Cabal

07/09/2006

Pô meu amigo não estou sabendo como usar este evento ongettext, vc poderia mandar um pequeno exemplo ?


GOSTEI 0
Cabal

Cabal

07/09/2006

Pô meu amigo não estou sabendo como usar este evento ongettext, vc poderia mandar um pequeno exemplo ?


GOSTEI 0
Micheus

Micheus

07/09/2006

[b:505d250fe5]Cabal[/b:505d250fe5], vc está utilizando qual componente para acessar os dados?
Se for um TTable, p.e., quando vc dá um duplo click no componente aparece a lista de campos (Fields). Se não houver nenhum, vc adiciona eles se clicar com o botão esquerdo do mouse dentro da lista e ´mandar´ adicionar todos os campos. Daí é só clicar no campo em questão que as propriedades dele serão mostradas no object inspector.
Se vc tiver criando em run-time a tabela, então não é este o caminho.


GOSTEI 0
Cabal

Cabal

07/09/2006

Safo ! meu amigo Já consegui fazer.
Estou usando o Componente TadoTable.
Ficou show valeu ....


GOSTEI 0
POSTAR