Fórum EditMask - SQLDataSet X ClientDataSet! #348885

13/11/2007

0

DBEdit com EditMask de sumir as máscaras ocorre quando:

1º altero a propriedade DataSet do dsFoClientes (DataSource do Formulário de Cadastro de Clientes) de TABELACLIENTES (SQLDataSet) para o dm.cdsClientes (ClientDataSet do DataModule).

2º quando altero direto a propriedade DataSource do DBEdit (mascarado) de dsFoClientes (DataSource do Formulário de Cadastro de Clientes) para o dm.dsClientes (DataSource do DataModule).

Minhas configurações são as seguintes:

DataModule: dm
============
SQLConnection: sqlConexaoBD
SQLDataSet: TABELACLIENTES
Fields:
CODIGO (Integer) Chave Primária (PK)
NOME (VarChar(60))
DATANASCTO (Date): EditMask: !99 / 99 / 0000;1;_
TELEFONE (VarChar(15)): EditMask: !\( 999\ ) 0000 - 0000;1;_
CEP (VarChar(10)) : EditMask: 00000\ - 9999;1;_
RG: (VarChar(15)): EditMask: 00\.000\.000\-99;1;_
DataSetProvider: dspClientes => DataSet: TaBELACLIENTES
ClientDataSet: cdsClientes => ProviderName: dspClientes
DataSource: dsClientes => DataSet: cdsClientes

UnClientes
========
DBEdit: Codigo => DataSource: dsFoClientes
DBEdit: Nome => DataSource: dsFoClientes
DBEdit: DataNascto => DataSource: dsFoClientes
DBEdit: Telefone => DataSource: dsFoClientes
DBEdit: CEP => DataSource: dsFoClientes
DBEdit: RG => DataSource: dsFoClientes
DataSource: dsFoClientes => DataSet: dm.TABELACLIENTES

Obs.: dessa maneira as máscaras são exibidas porém não consigo navegar nos registros porque volta o problema de unidirecional resolvido quando utilizo o ClientDataSet com o DataSetProvider. Os botões de navegação estão na UnClientes atualmente apontando para o dm.cdsClientes, se mudar para dm.TABELACLIENTES ocorre o erro de unidirecional. Alguém tem alguma idéia para solucionar meu problema?


Wolfwave76

Wolfwave76

Responder

Posts

14/11/2007

Acror

O que pode estar ocorrendo é que quando vc muda o datasource a mascara não está no campo do novo dataset.

Tenta em vez de usar o editmask no componente usar no campo dos dois datasets em questão.

Pode até ser que um dos datasets esteja com uma mascara diferente e faz com que altere qdo vc muda o datasource


Responder

Gostei + 0

16/11/2007

Wolfwave76

Um amigo meu explicou para cadastrar as máscaras no ClientDataSet ao invés de cadastrar no SQLDataSet, após essa alteração ficou tudo certo.

Obrigado e até a próxima dúvida!!!


Responder

Gostei + 0

19/11/2007

Acror

O dataset que eu falo é o dataset na qual o datasource está lincado. Se vc está usando o clientdataset é nele que vc deve configurar a mascara mas se for na Query é nela que deve configurar


Responder

Gostei + 0

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

Aceitar