Preciso passar como parametro o valor de TDBSeekButton Tenho um form e um botao e não consigo passar como parametro o valor do ID do cliente , vou postar parte do form, pois deve ser bem simples e estou bobeando e anexo o codigo todo. ...
LJ
Preciso passar como parametro o valor de TDBSeekButton  
Tenho um form e um botao e não consigo passar como parametro o valor do ID do cliente , vou postar parte do form, pois deve ser bem simples e estou bobeando e anexo o codigo todo.

 
  1. <?php
  2. //$cliente_id = new TDBCombo('cliente_id', 'dentista', 'Cliente', 'id', 'nome',NULL,$criteria); //era assim, alterei para as linhas abaixo para ficar mais facil
  3. $cliente_id = new ">TDBSeekButton('cliente_id', 'dentista', 'form_event', 'Cliente', 'nome', 'cliente_id', 'cliente_nome', $criteria);
  4. $cliente_nome = new TEntry('cliente_nome');
  5. .....
  6. // create an cli button (edit with parameters)
  7. $cli_button=new TButton('cli');
  8. $action_cli = new TAction(array('ClienteDetalheForm', 'onEdit'));
  9. $action_cli->setParameter('key',$cliente_id); // assim NAO funciona - acho que preciso pegar o value
  10. //$action_cli->setParameter('key',2); //assim funciona
  11. $cli_button->setAction($action_cli, 'Paciente');
  12. $cli_button->setImage('fa:user blue');
  13. ?>



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

Luiz, adicione o botão ao formulário para que todos os campos sejam enviados automaticamente na ação do botão:
 
  1. <?php
  2. $this->form->addField($cli_button);
  3. // function onEdit - classe ClienteDetalheForm
  4. function onEdit($param)
  5. {
  6. var_dump($param); // param vai conter o valor de todos os campos do formulário "pai" do botão. Para acessar o id do cliente é só usar $param['cliente_id']
  7. }
  8. ?>
LJ

Obrigado Nataniel, o botao já estava no addfields , e entao deu certo.