Ir para conteúdo
Fórum Script Brasil
  • 0

Problema com uso de Mask no quickreport


Guest --felipee --

Pergunta

Guest --felipee --
amigo,

no meu caso não funcionou. tb estou usando qr 3.0 e coloco a mascara para aparece escrito o nome do campo e não o conteudo numerico com a respectivo mascara.

o campo é numeric 15.2 do firebird.

o que pode estar acontecendo?

agradeco a ajuda.

ah! não gostaria de colocar no componente dbclient. gostaria de utilizar esta propriedade mask mesmo.

obrigado.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
amigo,

no meu caso não funcionou. tb estou usando qr 3.0 e coloco a mascara para aparece escrito o nome do campo e não o conteudo numerico com a respectivo mascara.

o campo é numeric 15.2 do firebird.

o que pode estar acontecendo?

agradeco a ajuda.

ah! não gostaria de colocar no componente dbclient. gostaria de utilizar esta propriedade mask mesmo

felipe, mas não é o que é sugerido no post#4?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --felipee --

é exatamente isso que estou dizendo.

coloquei a mascara e não funcionou.

aparece o nome do campo ao invez do conteudo numerico e a mascara que coloquei.

por exemplo:

o nome do campo é valor

ele possui o conteudo 1.000,50

ao invez de aparecer os 1.000,50 aparece escrito valor.

entendeu? será que tenho que verificar alguma coisa antes?

obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0
moderador, poderia me ajudar?
tenha calma. :D

Aqui todos podem ajudar, não apenas o moderador. ;)

Mas é o seguinte, você está falando de qual componente TQRText ou TQRExpr?

Se for um TQRText, como estão configuradas suas propriedades DataSet e DataField?

Se for um TQRExpr, como está configurada a propriedade Expression?

E como está, exatamente, definida a sua máscara (Mask)?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

citei seu nome em razao de ser você quem estava me ajudando. mas é claro, toda ajuda é muito bem vinda seja de quem for.

falo do qrdbtext.

como disse, coloquei a mascara '#0.00' do mask do quickreport mas não funcionou...

uso o dbexpress com firebird.

fiz: select * from tabela where ....

esta select é para um relatorio.

tem um valor numerico que é retornado e gostaria que este valor fosse formatado.

sei que posso clicar 2 vezes do clientdataset, add os campos e colocar as mascaras mas não gostaria de fazer desta forma. gostaria de colocar a mascara no select.

estou venod sobre tfloatfield:

(dmrel.dbaf.fieldbyname('VALOR') as tfloatfield).displayformat := '###,##0.00';

mas ao rodar ocorre erro:

invalid class typecast

sempre antes de colocar a sql do programa, gero primeiro no ibexpress e reparei que ele colocar as mascaras automaticamente seja no grid, form ou relatorio. achei isso muito legal, mas como fazer?

agradeco qualquer ajuda.

Felipee.

Editado por Felipee
Link para o comentário
Compartilhar em outros sites

  • 0
sei que posso clicar 2 vezes do clientdataset, add os campos e colocar as mascaras mas não gostaria de fazer desta forma. gostaria de colocar a mascara no select.
Na verdade este procedimento acaba não tendo validade para o QuickReport - em seus componentes (QRDBText e QRExpr) você deverá utilizar a propriedade Mask para formatar a saída.

estou vendo sobre tfloatfield:

(dmrel.dbaf.fieldbyname('VALOR') as tfloatfield).displayformat := '###,##0.00';

mas ao rodar ocorre erro:

invalid class typecast

pode estar ocorrendo de que o tipo do campo inicializado seja outro, tipo TBCDField ou TFMTBCDField. Você poderia neste caso tentar fazer o type-cast para a classe ancestral à ambos: TNumericField.

De qualquer modo, quanto ao quick, vale o que eu disse acima.

sempre antes de colocar a sql do programa, gero primeiro no ibexpress
é uma ótima prática!

Quanto ao problema em si, é bem estranho. Não sei de uma situação em que o componente TQRDBText mostre o nome do campo ao invés de seu valor.

Já experimentou excluir o componente e incluí-lo denovo? (vai saber, as vezes isso funciona :blink:)

Verificou se só está ocorrendo com este relatório, ou se ocorre em outros?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

cara, já exclui e inclui de novo e nada. aparece em todos os relatorios.

a respeito do click duplo, funciona sim. a mascara aparece. o problema é que se eu quizer utilizar o mesmo clientdataset para gerar outra sql trazendo outros campos, por já estar adcionados os da query anterior, vai dar problema... ai, tenho que criar outro clientdataset so para exibir a nova sql e ai já viu quantas vou ter que criar...

usando o TNumericField funcionou.

vale deixar registrado que para utilizar o TNumericField tem que declara o db no uses.

você sabe como limpar onde estes campos são declarados (não sei como se chama esta área)?

obrigado pela ajuda.

felipee.

Editado por Felipee
Link para o comentário
Compartilhar em outros sites

  • 0
a respeito do click duplo, funciona sim. a mascara aparece.
eu quiz dizer que esta formatação (via DisplayFormat) que se faz nos fields em qualquer tipo de dataset (via o duplo-click), funciona direitinho para edits, grids e tal. Mas não é utilizado pelo quick. Para ele mostrar o campo formatado direitinho como você quer, tem que utilizar a propriedade Mask.

Link para o comentário
Compartilhar em outros sites

  • 0
a respeito do click duplo, funciona sim. a mascara aparece.
eu quiz dizer que esta formatação (via DisplayFormat) que se faz nos fields em qualquer tipo de dataset (via o duplo-click), funciona direitinho para edits, grids e tal. Mas não é utilizado pelo quick. Para ele mostrar o campo formatado direitinho como você quer, tem que utilizar a propriedade Mask.

cara, comigo aqui funciona no quick sim, a mascara defina no clique duplo aparece nos campos exibidos através do quick. o mask pra mim é que nunca funcionou, sempre apareceu o nome do campo. mas beleza, bola pra frente.

saberia limpar via programacao a area onde são adicionados os campos?

obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0
saberia limpar via programacao a area onde são adicionados os campos?
você diz remover os campos do seu dataset, que você adicionou em design-time?

Se for isto, experimente: <dataset>.Fields.Clear;

é conveniente o seu dataset deve estar fechado antes de executar esta operação.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...