Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Como atribuir um evento onexit após carregar um form via XML Estou testando o Adianti Studio e estou com algumas dificuldades. Não consigo, criar um evento para o campo vcodprod1 que é um TEntry no formulário que criei junto ao A.Studio. Segue o código para que possa me orientar, desde já agradeço. ...
AC
Como atribuir um evento onexit após carregar um form via XML  
Fechado
Estou testando o Adianti Studio e estou com algumas dificuldades.
Não consigo, criar um evento para o campo vcodprod1 que é um TEntry no formulário que criei junto ao A.Studio. Segue o código para que possa me orientar, desde já agradeço.

  1. <?php
  2. class gerapedido extends TPage{
  3.     private $form;
  4.     function __construct(){
  5.         parent::__construct();
  6.         $this->form = new TForm('pedido_form');
  7.         try {
  8.             $ui = new TUIBuilder(1100,600);
  9.             $ui->setController($this);
  10.             $ui->setForm($this->form);
  11.             $ui->parseFile('app/forms/ColunasVigas.form.xml');
  12.             
  13.             
  14.             
  15.             
  16.             $this->form->add($ui);
  17.             
  18.             $exit_codigo = new TAction(array($this,'onExitCodprod1'));
  19.             $this->form->vcodprod1->setExitAction($exit_codigo);
  20.             
  21.             $this->form->setFields($ui->getFields());
  22.             
  23.             //definindo uma ação na saida do codigo
  24.             
  25.             
  26.                     
  27.             
  28.         } catch (Exception $e) {
  29.             new TMessage('error',$e->getMessage());
  30.         }
  31.         
  32.         parent::add($this->form);
  33.     }
  34.     
  35.     public function onExitCodprod1($param){
  36.         $obj = new stdClass();
  37.         $obj->vproduto1 'Testando ação';
  38.         
  39.         TForm::sendData('pedido_form'$obj);
  40.     }
  41. }
  42. ?>

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (2)


PD

Oi Alessandra,

Os objetos criados dentro do designer possuem um nome (atributo nome da barra de propriedades do objeto), correto?

Supondo que o nome esteja cadastrado corretamente (vcodprod1 no seu caso)...

Para acessar esses objetos, você NÃO deve fazer como está no seu código:
$this->form->vcodprod1->setExitAction($exit_codigo);

Mas sim, usar o método getWidget() para obter o objeto correspondente:
$vcodprod1 = $this->form->getWidget('vcodprod1');
$vcodprod1->setExitAction($exit_codigo);

um abraço,
Pablo
AC

Não conseguir fazer da forma indicada. Ma seguindo o exemplo fiz o seguinte:

$vcodprod1 = $ui->getWidget('vcodprod1');
$exit_codigo = new TAction(array($this,'onExitCodprod1'));
$vcodprod1->setExitAction($exit_codigo);

Ai funcionou perfeitamente.
Obrigado