sincronizar botoes com clientdataset
29/11/2005
2
Pessoal como posso sincronizar meu botoes de inclusão e navegação com o clientdataset ou recordsource e como faço isso.
por exemplo o botão de alteração ficar desabilitado se nao ha nem um registro, se houver o de gravar fica desabilitado se voce nao alterou. etc...
valeu
por exemplo o botão de alteração ficar desabilitado se nao ha nem um registro, se houver o de gravar fica desabilitado se voce nao alterou. etc...
valeu
Responder
Posts
29/11/2005
Pessoal como posso sincronizar meu botoes de inclusão e navegação com o clientdataset ou recordsource e como faço isso.
por exemplo o botão de alteração ficar desabilitado se nao ha nem um registro, se houver o de gravar fica desabilitado se voce nao alterou. etc...
valeu
Pereira,
Acho que isso ficaria melhor dentro o ONDATACHANGE do DataSource. OK?
Exemplo:
BBtnGravar.Enabled := DataSource.State in [dsInsert, dsEdit];
E assim por diante para os outros botões.
Boa sorte.
Responder
29/11/2005
eu sugiro que isso seja feito no OnStateChange do Datasource.
Responder
29/11/2005
Olá, PereiraMarcos!
Alguma coisa contra o uso de ActionList (DataSetAction)?
Um abraço,
Jair
Alguma coisa contra o uso de ActionList (DataSetAction)?
Um abraço,
Jair
Responder
29/11/2005
Olá, PereiraMarcos!
Alguma coisa contra o uso de ActionList (DataSetAction)?
Um abraço,
Jair
jair obrigado pela resposta, humildemente por onde comecar pode me dizer onde pego um passo a passo e obrigado mesmo pela dica a todos voces.
Responder
30/11/2005
o ActionLits é um modo rápido de fazer alguma coisa, no entanto eu vejo algumas desvantagens:
o desempenho não é tão bom, e vai ter algum momento que vc vai querer ter um controle maior sobre os eventos e não vai conseguir.
aconselharia a usar no evento OnStateChange do Datasource, como disse o colega emerson.
o desempenho não é tão bom, e vai ter algum momento que vc vai querer ter um controle maior sobre os eventos e não vai conseguir.
aconselharia a usar no evento OnStateChange do Datasource, como disse o colega emerson.
Responder
30/11/2005
você pode seguir a dica do [b:eaa80e2c19]aprendiz_ce[/b:eaa80e2c19], mas coloque o código no evento OnStateChange do Datasource. seria algo assim:
BBtnIncluir.Enabled := DataSource.Dataset.Active and not (DataSource.State in [dsInsert, dsEdit]); BBtnGravar.Enabled := DataSource.State in [dsInsert, dsEdit]; BBtnCancelar.Enabled := BBtnGravar.Enabled; BBtnExcluir.Enabled := BBtnIncluir.Enabled and not DataSource.Dataset.IsEmpty;
Responder
30/11/2005
você pode seguir a dica do [b:72a59a65aa]aprendiz_ce[/b:72a59a65aa], mas coloque o código no evento OnStateChange do Datasource. seria algo assim:
BBtnIncluir.Enabled := DataSource.Dataset.Active and not (DataSource.State in [dsInsert, dsEdit]); BBtnGravar.Enabled := DataSource.State in [dsInsert, dsEdit]; BBtnCancelar.Enabled := BBtnGravar.Enabled; BBtnExcluir.Enabled := BBtnIncluir.Enabled and not DataSource.Dataset.IsEmpty;
Como fica isso usando DM, se a tabela for comum ao sistema?
Porque pra passar um botao teria que referenciar ao form?
fiquei com essa duvida, pois ai teria que ter um outro tipo de controle; :roll:
Responder
30/11/2005
Macario not found, estou usando o datasource nos forms e nao no DM, existe alguma diferenca alem da poluição visual no form ?
:shock:
:shock:
Responder
30/11/2005
no caso de usar DM, a melhor forma seriam as tabelas ficarem no DM, e os datasources ficarem no form em que forem utilizados.
no modelo de desenvolvimento que eu adotei (n-camadas, com nested tables), colocar o(s) datasources(s) no form é uma ótima maneira de trabalhar e, como todos os meus forms são herdados, o código fica centralizado, pois o ancestral possui todos os controles necessários - inclusive esse dos botões.
no modelo de desenvolvimento que eu adotei (n-camadas, com nested tables), colocar o(s) datasources(s) no form é uma ótima maneira de trabalhar e, como todos os meus forms são herdados, o código fica centralizado, pois o ancestral possui todos os controles necessários - inclusive esse dos botões.
Responder
30/11/2005
Macario not found, estou usando o datasource nos forms e nao no DM, existe alguma diferenca alem da poluição visual no form ?
:shock:
Não
Responder
30/11/2005
Macario not found, estou usando o datasource nos forms e nao no DM, existe alguma diferenca alem da poluição visual no form ?
:shock:
Não
Responder
30/11/2005
Olá, pessoal!
Nunca tive problema de performance com a utilização de ActionList. Além disso, uma mesma Action pode ser utilizada para um item de menu, um botão e um item de menu popup, ao mesmo tempo, centralizando as ações de habilitação e visibilidade do botão, além da propriedade Caption e também da Imagem utilizada nos menus e nos botões. Posso garantir que a produtividade aumenta muito ao utilizar ActionList. Mas, como dizia um amigo, opinião é como umbigo, todo mundo tem uma.
Um abraço,
Jair
Nunca tive problema de performance com a utilização de ActionList. Além disso, uma mesma Action pode ser utilizada para um item de menu, um botão e um item de menu popup, ao mesmo tempo, centralizando as ações de habilitação e visibilidade do botão, além da propriedade Caption e também da Imagem utilizada nos menus e nos botões. Posso garantir que a produtividade aumenta muito ao utilizar ActionList. Mas, como dizia um amigo, opinião é como umbigo, todo mundo tem uma.
Um abraço,
Jair
Responder
30/11/2005
estou usando datasources no form de cadastro e nao no DMs.
no modelo de desenvolvimento que eu adotei (n-camadas, com nested tables), colocar o(s) datasources(s) no form é uma ótima maneira de trabalhar e, como todos os meus forms são herdados, o código fica centralizado, pois o ancestral possui todos os controles necessários - inclusive esse dos botões.
cara eu programo tb em Visual fox e fazia heranca visual e muito importante e poupa trabalho....como ficam os datasources neste caso com relacao aos botoes, pois e isto que busco Poo na concepcao da palavra.
obrigado a voce e a todos que fazem deste forum um sem igual....
no modelo de desenvolvimento que eu adotei (n-camadas, com nested tables), colocar o(s) datasources(s) no form é uma ótima maneira de trabalhar e, como todos os meus forms são herdados, o código fica centralizado, pois o ancestral possui todos os controles necessários - inclusive esse dos botões.
cara eu programo tb em Visual fox e fazia heranca visual e muito importante e poupa trabalho....como ficam os datasources neste caso com relacao aos botoes, pois e isto que busco Poo na concepcao da palavra.
obrigado a voce e a todos que fazem deste forum um sem igual....
Responder
Clique aqui para fazer login e interagir na Comunidade :)