Fórum Problemas com tipo TFMTBCDField #327622

17/08/2006

0

Olá pessoal,

Estou trabalhando com Firebird TClientDataSet acessando DBExpress e dialeto 3 do meu gdb.

Estou tendo problema de formatção do campo TFMTBCDField no TClientDataSet.
Na propriedade DisplayFormat estou usando #,0.00 mas para valores inteiros os zeros decimais não mostram:

Ex: 10 ---> 10 - (falta os decimais)

10,1 ---> 10,10 (correto)


Alguém tem alguma idéia do que posso fazer para corrigir isto ?


Pezzin

Pezzin

Responder

Posts

17/08/2006

Marco Salles

existem algum evento OnDrawColumnCell ???


Responder

Gostei + 0

18/08/2006

Pezzin

[quote:4a4531f3fd=´Marco Salles´]existem algum evento OnDrawColumnCell ???[/quote:4a4531f3fd]

Não.


Responder

Gostei + 0

18/08/2006

Marco Salles

esse é um clássico problema que vem atormentado a todos aqui no forum

A causa desse transtorno pode estar relacionado ao Driver que se usa

Voce esta usando qual o driver ????

Uma das saidas pode passar pelos eventos onsetText e ongetText do Campo...


Responder

Gostei + 0

18/08/2006

Sremulador

Amigos ví uma vez aqui no forum uma correção para esta bronca...


Responder

Gostei + 0

18/08/2006

Pezzin

[quote:7ff8b10bd1=´Marco Salles´]esse é um clássico problema que vem atormentado a todos aqui no forum

A causa desse transtorno pode estar relacionado ao Driver que se usa

Voce esta usando qual o driver ????

Uma das saidas pode passar pelos eventos onsetText e ongetText do Campo...[/quote:7ff8b10bd1]

Estamos usando conexão com DbExpress do Delphi 2006 e dialeto 3 do banco de dados.

Como usar estes eventos no campo do meu ClientDataSet ?
Vc Pode pode me exemplificar ?

Obrigado.


Responder

Gostei + 0

18/08/2006

Pezzin

[quote:385b2de4f6=´Marco Salles´]esse é um clássico problema que vem atormentado a todos aqui no forum

A causa desse transtorno pode estar relacionado ao Driver que se usa

Voce esta usando qual o driver ????

Uma das saidas pode passar pelos eventos onsetText e ongetText do Campo...[/quote:385b2de4f6]

Conseguimos usando ongetText do campo:

Text := FloatToStrF(V_ClientDataSet1.FieldByName´VALOR´).AsFloat,ffNumber,15,4);


Valeu.


Responder

Gostei + 0

18/08/2006

Marco Salles

Acho que no seu caso so o OngetText Resolve

procedure TForm1.NomeDoTfieldGetText(Sender: TField;
  var Text: String; DisplayText: Boolean);
begin
if sender.AsString <> ´´ Then
 text:=FormatFloat(´#.00´,sender.AsFloat);
end;


nãp precisa mais usar DisplayFormat Do Campo


Responder

Gostei + 0

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

Aceitar