sincronizar botoes com clientdataset
29/11/2005
0
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
Pereiramarcos
Posts
29/11/2005
Aprendiz_ce
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.
29/11/2005
Emerson Nascimento
29/11/2005
Jairroberto
Alguma coisa contra o uso de ActionList (DataSetAction)?
Um abraço,
Jair
29/11/2005
Pereiramarcos
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.
30/11/2005
Raserafim
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.
30/11/2005
Emerson Nascimento
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;
30/11/2005
Macario
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:
30/11/2005
Pereiramarcos
:shock:
30/11/2005
Emerson Nascimento
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.
30/11/2005
Ramms
Não
30/11/2005
Emerson Nascimento
Não
30/11/2005
Jairroberto
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
30/11/2005
Pereiramarcos
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....
Clique aqui para fazer login e interagir na Comunidade :)