Fórum Problemas com evento GetText em clientDataSet #274760
30/03/2005
0
Olá,
Estou fazendo uma query utilizando clientDataSet que joga os valores dos registros em um DBGrid. Porém, gostaria que quando determinado valor fosse zero aparecesse vazio.
No evento AfterOpen do meu clientDataSet coloquei o seguinte código:
DataSet.FieldByName(Campo).OnGetText := AtribuiNulo
e o meu procedimento atribui Nulo é:
procedure AtribuiNulo(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.AsFloat = 0 then
Text := ´´;
end;
porém está jogando vazio para todos os registros desse campo....
Como eu faço para somente o campo que for zero fique vazio???
Grata,
Vânia
Estou fazendo uma query utilizando clientDataSet que joga os valores dos registros em um DBGrid. Porém, gostaria que quando determinado valor fosse zero aparecesse vazio.
No evento AfterOpen do meu clientDataSet coloquei o seguinte código:
DataSet.FieldByName(Campo).OnGetText := AtribuiNulo
e o meu procedimento atribui Nulo é:
procedure AtribuiNulo(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.AsFloat = 0 then
Text := ´´;
end;
porém está jogando vazio para todos os registros desse campo....
Como eu faço para somente o campo que for zero fique vazio???
Grata,
Vânia
Vania
Curtir tópico
+ 0
Responder
Posts
31/03/2005
Faelcavalcanti
procedure AtribuiNulo(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.AsFloat = 0 then
Text := ´´;
end;
porém está jogando vazio para todos os registros desse campo....
Como eu faço para somente o campo que for zero fique vazio???
Grata,
Vânia
Não entendi a parte acima, como assim todos os registros ????
Responder
Gostei + 0
31/03/2005
Gandalf.nho
Veja se essa pequena alteração em sua função dá certo:
procedure AtribuiNulo(Sender: TField; var Text: String; DisplayText: Boolean); begin if Sender.AsFloat = 0 then Text := ´´ else Text := Sender.AsString; end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)