Lançado Adianti Framework 8.1!
Clique aqui para saber mais
Desabilitar campos após garvar registro pessoal tenho um formulário onde tenho 2 frames ainda estou construindo o primeiro frame que ira gravar o registro máster, preciso que ao clicar no botão de Gravar após a inserção do registro preciso que os campos desse frame sejam desabilitados, já tentei fazer direto na function do ação do botão e também tentei chamado uma fucao após a gravação e ambos não funcionaram não apresen...
LB
Desabilitar campos após garvar registro  
Fechado
pessoal tenho um formulário onde tenho 2 frames ainda estou construindo o primeiro frame que ira gravar o registro máster, preciso que ao clicar no botão de Gravar após a inserção do registro preciso que os campos desse frame sejam desabilitados, já tentei fazer direto na function do ação do botão e também tentei chamado uma fucao após a gravação e ambos não funcionaram não apresenta erros porém não grava e fica naquela mensagem de "Carregando" e nunca sai. No anexo mostro o botão destacado em vermelho e em verde os campos que precisa dar o disable.
Se alguém puder me dar uma dia agradeço, preciso fazer um cadastro máster/detail, porém preciso gerar o máster para depois gerar os detalhes não enviei o código todo pois ainda estou desenvolvendo essa tela e não está totalmente pronta.

abaixo o código que estou usando no momento

  1. <?php e
  2.  /**
  3.      * Adiciona a prova 
  4.      * 
  5.      */
  6.     public function onProvaAdd$param )
  7.     {
  8.         try
  9.         {
  10.             TTransaction::open('super_prova');
  11.             $data $this->form->getData();
  12.             
  13.             if( (! $data->descricao) || (! $data->cod_cab) )
  14.                 throw new Exception('Os campos Descrição e Cabeçalho são obrigatórios');
  15.             
  16.             $prova = new Prova;
  17.             $prova->descricao  $data->descricao;
  18.             $prova->cod_cab    $data->cod_cab;
  19.             $prova->observacao $data->observacao;
  20.             $prova->store(); // stores the object
  21.             //$data->descricao->setEditable(false);
  22.             //$data->cod_cab->setEditable(false);
  23.             //$data->observacao->setEditable(false);
  24.             $this->form->setData($prova);
  25.             TTransaction::close(); 
  26.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved')); // success message 
  27.             $this->onDisable($param);         
  28.             //$this->onReload( $param ); // reload the sale items
  29.         }
  30.         catch (Exception $e)
  31.         {
  32.             $this->form->setData$this->form->getData());
  33.             new TMessage('error'$e->getMessage());
  34.             TTransaction::rollback();
  35.         }
  36.     }
  37. /**
  38.      * Desabilita campos
  39.      **/
  40.     public static function onDisable($param)
  41.     {
  42.        $obj = new StdClass;
  43.        $obj $this->form->getData();
  44.        $obj->descricao->setEditable(False);
  45.        $obj->cod_cab->setEditable(False);
  46.        $obj->observacao->setEditable(False);
  47.        TForm::sendData('form_prova',$obj);
  48.     } 
  49. ?>

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


NR

Leandro, não é possível utilizar a variável $this em uma função estática. Você pode utilizar a função disableField para desabilitar os campos. Exemplo: TEntry::disableField('nome_do_form','nome_do_campo'). Dê uma olhada no exemplo abaixo, deve ajudar:
adianti.com.br/framework_files/tutor/index.php?class=FormEnableDisab
LB

Ajudou muito Nataniel obrigado novamente!