EditMask - SQLDataSet X ClientDataSet!
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?
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
Curtidas 0
Respostas
Acror
13/11/2007
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
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
GOSTEI 0
Wolfwave76
13/11/2007
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!!!
Obrigado e até a próxima dúvida!!!
GOSTEI 0
Acror
13/11/2007
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
GOSTEI 0