Como atribuir um evento ao um TButton Criei um formulário através do Adianti Studio e comecei atribuir eventos via código, porem não conseguir atribuir evento ao TButton de que maneira posso fazer? Segue o código de conseguir fazer até o momento. ...
AC
Como atribuir um evento ao um TButton  
Fechado
Criei um formulário através do Adianti Studio e comecei atribuir eventos via código, porem não conseguir atribuir evento ao TButton de que maneira posso fazer? Segue o código de conseguir fazer até o momento.

 
  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. $this->form->add($ui);
  13. //Pegando dados dos campos vcodprod1,vcodprod2
  14. $vcodprod1 = $ui->getWidget('vcodprod1');
  15. $vcodprod2 = $ui->getWidget('vcodprod2');
  16. //Criando as ações para cada item
  17. $exit_codigo = new TAction(array($this,'onExitCodprod1'));
  18. $exit_codigo2 = new TAction(array($this,'onExitCodprod2'));
  19. //Setando as ações criadas
  20. $vcodprod1->setExitAction($exit_codigo);
  21. $vcodprod2->setExitAction($exit_codigo2);
  22. //Minha dúvida é como atribuir uma ação para o botão agora ?
  23. $this->form2->setFields($ui->getFields());
  24. } catch (Exception $e) {
  25. new TMessage('error',$e->getMessage());
  26. }
  27. parent::add($this->form);
  28. }
  29. public function onExitCodprod1($param){
  30. $obj = new stdClass();
  31. $obj->vproduto1 = 'Testando ação';
  32. TForm::sendData('pedido_form', $obj);
  33. }
  34. }
  35. ?>



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 (1)


MS

Para adicionar ações a botões no Designer do Adianti Studio Pro, quando um botão está selecionado você tem uma propriedade ao lado direito que é o "Método". Neste campo você pode digitar qualquer método por exemplo "onTeste" e então criar este método no controlador.

 
  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. $this->form->add($ui);
  13. //Pegando dados dos campos vcodprod1,vcodprod2
  14. $vcodprod1 = $ui->getWidget('vcodprod1');
  15. $vcodprod2 = $ui->getWidget('vcodprod2');
  16. //Criando as ações para cada item
  17. $exit_codigo = new TAction(array($this, 'onExitCodprod1'));
  18. $exit_codigo2 = new TAction(array($this, 'onExitCodprod2'));
  19. //Setando as ações criadas
  20. $vcodprod1->setExitAction($exit_codigo);
  21. $vcodprod2->setExitAction($exit_codigo2);
  22. $this->form2->setFields($ui->getFields());
  23. } catch (Exception $e) {
  24. new TMessage('error', $e->getMessage());
  25. }
  26. parent::add($this->form);
  27. }
  28. public function onExitCodprod1($param) {
  29. $obj = new stdClass();
  30. $obj->vproduto1 = 'Testando ação';
  31. TForm::sendData('pedido_form', $obj);
  32. }
  33. function onTeste($param) {
  34. new TMessage('info', 'funciona');
  35. }
  36. }
  37. ?>