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

[resolvido] Trabalhar Com Máscaras No Dbgrid


José Luiz

Pergunta

Como posso formatar as colunas do DBGrid para Fone, Cep, CPF, etc ?

Banco de dados DBF ( Clipper ) ou DB ( Paradox ).

No AfterOpen do Banco de dados fiz o seguinte :

Para formatar números, utilizei :

( BANCO.FieldByName ( 'VALOR' ) as tFloatField ).displayformat := '##,##0.00' ;

e funcionou perfeitamente, ou seja, em qualquer DBGrid que eu chame este campo, o valor está formatado corretamente.

Para Strings, tentei

( BANCO.FieldByName ( 'FONE' ) as tstringfield ).displayformat := '9999-9999' ;

mas dá erro.

Tentei também

( BANCO.FieldByName ( 'FONE' ) as tstringfield ).editmask := '9999-9999' ;

mas só aparecem os 4 primeiros dígitos.

Alguém sabe como executar esta formatação ?

Obrigado,

Bettega

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Como posso formatar as colunas do DBGrid para Fone, Cep, CPF, etc ?

Banco de dados DBF ( Clipper ) ou DB ( Paradox ).

No AfterOpen do Banco de dados fiz o seguinte :

Para formatar números, utilizei :

( BANCO.FieldByName ( 'VALOR' ) as tFloatField ).displayformat := '##,##0.00' ;

e funcionou perfeitamente, ou seja, em qualquer DBGrid que eu chame este campo, o valor está formatado corretamente.

Para Strings, tentei

( BANCO.FieldByName ( 'FONE' ) as tstringfield ).displayformat := '9999-9999' ;

mas dá erro.

Tentei também

( BANCO.FieldByName ( 'FONE' ) as tstringfield ).editmask := '9999-9999' ;

mas só aparecem os 4 primeiros dígitos.

Alguém sabe como executar esta formatação ?

José Luiz, o caminho é por EditMask e DisplayFormat mesmo.

Primeiro, no caso de máscara do tipo '9999-9999', você tem que ver como é que está esta informação gravada no seu banco.

Supondo que já hajam dados, se as informações incluem a formatação (caracteres como "-", "/"), você deverá informar na máscara que eles devem ser gravados no banco (isto pode influenciar no resultado). Observe que a string de formatação que você usou está incompleta, ela deveria ser '9999-9999;0;' (não grava máscara) ou '9999-9999;1;' (grava máscara). No field que você utilizar o EditMask, se não estou enganado você não precisa definir DisplayFormat.

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
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...