Lançado Adianti Framework 7.6!
Clique aqui para saber mais
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.     /**
  11.      * Class constructor
  12.      * Creates the page
  13.      */
  14.     function __construct()
  15.     {
  16.         parent::__construct();
  17.         
  18.         // create the form
  19.         $this->form = new TForm;
  20.         $this->form->class 'tform';
  21.         
  22.         // creates the form field container
  23.         $table = new TTable;
  24.         $table->width '100%';
  25.         $this->form->add($table);
  26.         
  27.         // title row
  28.         $table->addRowSet( new TLabel('Automatic selections'), '' )->class='tformtitle';
  29.         
  30.         // create the form fields
  31.         $combo  = new TDBCombo('imoveis''facilita''imoveis''id''resumo');
  32.         $combo->setValue(2);
  33.         $combo->setSize(160);
  34.         // add the fields to the table
  35.         $table->addRowSet(new TLabel('TDBCombo:'),       $combo );
  36.         // creates the action button
  37.         $button1=new TButton('action1');
  38.         // define the button action
  39.         $button1->setAction(new TAction(array($this'onSave')), 'Save');
  40.         $button1->setImage('ico_save.png');
  41.         
  42.         $table->addRowSet$button1'' )->class 'tformaction';
  43.         
  44.         // define wich are the form fields
  45.         $this->form->setFields(array($combo$button1));
  46.         
  47.         // wrap the page content using vertical box
  48.         $vbox = new TVBox;
  49.         $vbox->add($this->form);
  50.         parent::add($vbox);
  51.     }
  52.     
  53.     /**
  54.      * Simulates an save button
  55.      * Show the form content
  56.      */
  57.     public function onSave($param)
  58.     {
  59.        
  60.         $data $this->form->getData(); // optional parameter: active record class
  61.         
  62.         // put the data back to the form
  63.         $this->form->setData($data);
  64.         
  65.         // creates a string with the form element's values
  66.         $message 'Combo : ' $data->combo '<br>';
  67.         
  68.         // grava resultado
  69.     //    TSession::setValue('id_imovel', '1');
  70.         TSession::setValue('lbl_imovel'$data->combo);
  71.    
  72.         // show the message
  73.         new TMessage('info'$message);
  74.        
  75.     }
  76. }
  77. ?>

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 (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.          
  4.          $itens = array();
  5.          $itens['a'] = 'item a';
  6.          $itens['b'] = 'item b';
  7.          $itens['c'] = 'item c';
  8.         $combo->addItems($itens);
  9. ?>
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.         
  8.         $options = array();
  9.         $options[1] = $param['combo_change'] . ' - one';
  10.         $options[2] = $param['combo_change'] . ' - two';
  11.         $options[3] = $param['combo_change'] . ' - three';
  12.         TCombo::reload('form_interaction''response_b'$options);
  13.     }
  14. ?>


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