DA
Como habilitar e desabilitar o botão Novo.
Boa Tarde a todos
Estou iniciando meu aprendizado com o framework, depois de quase 40 anos de desenvolvimento para DeskTop, me aventurando a programar para a WEB, depois que um amigo me indicou o Adianti.
Depois de assistir todos os videos comecei um projeto converte um sistema que fiz em Delphi para PHP.
Me deparei com o seguinte problema, preciso que o usuário só insira determinado numero de registros, quando atingir o botão de novo fique desabilitado, a principio conseguir fazer na inclusão, porém ao deletar o registro o botão não volta a ficar habilitado, tendo que pressionar o botão de busca para liberar, é algo de atualização que não consegui resolver, apesar de pesquisar bastante.
Consegui o bloqueio colocando essas linhas no formlist
Porém na exclusão não é atualizado, gostaria de alguma dica de como poderia resolver o problema. Em anexo o fonte do formlist.
Desde já agradeço pela atenção e estou gostando do framework, um bom desafio pela frente.
Estou iniciando meu aprendizado com o framework, depois de quase 40 anos de desenvolvimento para DeskTop, me aventurando a programar para a WEB, depois que um amigo me indicou o Adianti.
Depois de assistir todos os videos comecei um projeto converte um sistema que fiz em Delphi para PHP.
Me deparei com o seguinte problema, preciso que o usuário só insira determinado numero de registros, quando atingir o botão de novo fique desabilitado, a principio conseguir fazer na inclusão, porém ao deletar o registro o botão não volta a ficar habilitado, tendo que pressionar o botão de busca para liberar, é algo de atualização que não consegui resolver, apesar de pesquisar bastante.
Consegui o bloqueio colocando essas linhas no formlist
- <?php
- // bloqueia botão novo quando numeroregistro = 1
- try
- {
- TTransaction::open('advday');
- $countreg = EscritorioJuridico::count();
- TTransaction::close();
- if($countreg = 1){
- TButton::disableField('form_search_EscritorioJuridico', 'btn_novo');
- }
- else
- {
- TButton::enableField('form_search_EscritorioJuridico', 'btn_novo');
- }
- }
- catch (Exception $e)
- {
- new TMessage('error', $e->getMessage());
- }
- ?>
Porém na exclusão não é atualizado, gostaria de alguma dica de como poderia resolver o problema. Em anexo o fonte do formlist.
Desde já agradeço pela atenção e estou gostando do framework, um bom desafio pela frente.
Apenas corrigindo o fonte enviado! Quando enviei não notei que era uma das tentativas em acertar. grato.
A verificação está sendo feita no construtor da classe, que é sempre o primeiro método chamado. Com isso, ao deletar, primeiro passa pelo construtor(o delete ainda não foi feito e com isso a validação falha) e somente depois passa pela função delete.
Você pode reescrever a função delete(copie de AdiantiStandardListTrait) em sua classe e adicionar a validação também nessa função.
Outra saída seria fazer a verificação na função onReload.
A verificação está sendo feita no construtor da classe, que é sempre o primeiro método chamado. Com isso, ao deletar, primeiro passa pelo construtor(o delete ainda não foi feito e com isso a validação falha) e somente depois passa pela função delete.
Você pode reescrever a função delete(copie de AdiantiStandardListTrait) em sua classe e adicionar a validação também nessa função.
Outra saída seria fazer a verificação na função onReload.
Obrigado Nataniel, optei em reescrever a função delete e também criei uma função para não repetir o código. Agradecido pela valiosa dica.
Quem tiver essa necessidade pode seguir o exemplo.
Ficou assim o tratamento.
Na classe principal coloquei também a chamada da função