exemplo tdbcombo do tutor não funcionou na minha aplicação Consigo escolher o combo, botão salvar mostra uma mensagem com o combo vazio código : ...
JA
exemplo tdbcombo do tutor não funcionou na minha aplicação  
Fechado
Consigo escolher o combo, botão salvar mostra uma mensagem com o combo vazio

código :

 
  1. <?php
  2. /**
  3. * unidadesForm Registration
  4. * @author <your name here>
  5. */
  6. class teste extends TPage
  7. {
  8. private $form;
  9. /**
  10. * Class constructor
  11. * Creates the page
  12. */
  13. function __construct()
  14. {
  15. parent::__construct();
  16. // create the form
  17. $this->form = new TForm;
  18. $this->form->class = 'tform';
  19. // creates the form field container
  20. $table = new TTable;
  21. $table->width = '100%';
  22. $this->form->add($table);
  23. // title row
  24. $table->addRowSet( new TLabel('Automatic selections'), '' )->class='tformtitle';
  25. // create the form fields
  26. $combo = new TDBCombo('imoveis', 'facilita', 'imoveis', 'id', 'resumo');
  27. $combo->setValue(2);
  28. $combo->setSize(160);
  29. // add the fields to the table
  30. $table->addRowSet(new TLabel('TDBCombo:'), $combo );
  31. // creates the action button
  32. $button1=new TButton('action1');
  33. // define the button action
  34. $button1->setAction(new TAction(array($this, 'onSave')), 'Save');
  35. $button1->setImage('ico_save.png');
  36. $table->addRowSet( $button1, '' )->class = 'tformaction';
  37. // define wich are the form fields
  38. $this->form->setFields(array($combo, $button1));
  39. // wrap the page content using vertical box
  40. $vbox = new TVBox;
  41. $vbox->add($this->form);
  42. parent::add($vbox);
  43. }
  44. /**
  45. * Simulates an save button
  46. * Show the form content
  47. */
  48. public function onSave($param)
  49. {
  50. $data = $this->form->getData(); // optional parameter: active record class
  51. // put the data back to the form
  52. $this->form->setData($data);
  53. // creates a string with the form element's values
  54. $message = 'Combo : ' . $data->combo . '<br>';
  55. // grava resultado
  56. // TSession::setValue('id_imovel', '1');
  57. TSession::setValue('lbl_imovel', $data->combo);
  58. // show the message
  59. new TMessage('info', $message);
  60. }
  61. }
  62. ?>

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


BI

o TDBCombo serve para buscar dados de um Banco de Dados e deve ser usado dessa forma:

 
  1. <?php $combo = new TDBCombo('nome_objeto','banco_de_dados','classe_model','campo_id','campo_descricao'); ?>


já a TCombo utiliza assim:

 
  1. <?php
  2. $combo = new TCombo('nome_objeto');
  3. $itens = array();
  4. $itens['a'] = 'item a';
  5. $itens['b'] = 'item b';
  6. $itens['c'] = 'item c';
  7. $combo->addItems($itens);
  8. ?>
BI

Outra coisa na hora de exibir, vc está indicando o nome da variável errado:

 
  1. <?php $message = 'Combo : ' . $data->combo . '<br>'; ?>


o certo é indicar o nome do campo
 
  1. <?php $message = 'Combo : ' . $data->imoveis. '<br>'; ?>
JA

Obrigado, resolvido!

Como faço agora para fazer um filtro para mostrar somente os registros referentes aquela empresa?

O combo seleciona a empresa que desejo trabalhar e quando abrir a classe pessoas, ela deve listar as pessoas que tem o campo id_empresa igual a escolhida no combo...

Onde coloco esse filtro? tem algum modelo no tutor ?
BI

o adianti tutor tem um exemplo para esse caso...
vc cria o evento onChange para a combo empresa
 
  1. <?php
  2. // set exit action for input_exit
  3. $change_action = new TAction(array($this, 'onChangeAction'));
  4. $combo_change->setChangeAction($change_action);
  5. ?>

depois cria a função onChange que receberá o 'id' da empresa e carregará os funcionários a qual estão ligados

 
  1. <?php
  2. public static function onChangeAction($param)
  3. {
  4. $obj = new StdClass;
  5. $obj->response_c = 'Resp. for opt "'.$param['combo_change'] . '" ' .date('H:m:s');
  6. TForm::sendData('form_interaction', $obj);
  7. $options = array();
  8. $options[1] = $param['combo_change'] . ' - one';
  9. $options[2] = $param['combo_change'] . ' - two';
  10. $options[3] = $param['combo_change'] . ' - three';
  11. TCombo::reload('form_interaction', 'response_b', $options);
  12. }
  13. ?>


segue o link: www.adianti.com.br/framework_files/tutor/index.php?class=FormInterac