Jump to content
Fórum Script Brasil
  • 0

[resolvido] Trabalhar Com Máscaras No Dbgrid


José Luiz

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...