onEdit do SeekButton Pessoal, essa é a terceira vez que posto aqui visto que as dicas anteriores não funcionaram. Quando uso o SeekButton no cadastro, ele funciona corretamente, mas quando tento carregar a informação do nome no campo da descrição, o mesmo não exibe de jeito nenhum. Já criei um get_nome no model com o mesmo nome do campo mas não resolveu... Vou colocar alguns trechos do código aqui ...
SS
onEdit do SeekButton  
Pessoal, essa é a terceira vez que posto aqui visto que as dicas anteriores não funcionaram. Quando uso o SeekButton no cadastro, ele funciona corretamente, mas quando tento carregar a informação do nome no campo da descrição, o mesmo não exibe de jeito nenhum.

Já criei um get_nome no model com o mesmo nome do campo mas não resolveu...
Vou colocar alguns trechos do código aqui

 
  1. <?php
  2. // -- delaclaração dos campos
  3. $id = new TEntry('id');
  4. $NomeAssociado = new TEntry('NomeAssociado');
  5. $Endereco = new TEntry('Endereco');
  6. $Bairro = new TEntry('Bairro');
  7. //$tipoassociado_id = new TDBCombo('tipoassociado_id','communication','Tipoassociado','id','TipoAssociado');
  8. $tipoassociado_id = new TSeekButton('tipoassociado_id');
  9. $tipoassociado_id->setAction( new TAction(array ('TipoassociadoSeek', 'onReload')));
  10. $tipoassociado_nome = new TEntry('tipoassociado_nome');
  11. $tipoassociado_nome->setEditable(FALSE);
  12. $Telefone = new TEntry('Telefone');
  13. $Email = new TEntry('Email');
  14. $table_general->addRowSet( new TLabel('Id'), $id );
  15. $table_general->addRowSet( new TLabel('Nome Associado'), $NomeAssociado );
  16. $table_general->addRowSet( new TLabel('Endereco'), $Endereco );
  17. $table_general->addRowSet( new TLabel('Bairro'), $Bairro );
  18. //$table_general->addRowSet( new TLabel('Tipo Associado'), $tipoassociado_id );
  19. $table_general->addRowSet( new TLabel('Tipo Associado Id'), [$tipoassociado_id, $tipoassociado_nome] );
  20. $table_general->addRowSet( new TLabel('Telefone'), $Telefone );
  21. $table_general->addRowSet( new TLabel('Email'), $Email );
  22. //// ------------------- ATRIBUTOS DO MODEL -------------------------------------
  23. public function __construct($id = NULL, $callObjectLoad = TRUE)
  24. {
  25. parent::__construct($id, $callObjectLoad);
  26. parent::addAttribute('NomeAssociado');
  27. parent::addAttribute('Endereco');
  28. parent::addAttribute('Bairro');
  29. parent::addAttribute('tipoassociado_id');
  30. parent::addAttribute('Telefone');
  31. parent::addAttribute('Email');
  32. }
  33. public function set_tipoassociado(Tipoassociado $object)
  34. {
  35. $this->tipoassociado = $object;
  36. $this->tipoassociado_id = $object->id;
  37. }
  38. public function get_tipoassociado()
  39. {
  40. // loads the associated object
  41. if (empty($this->tipoassociado))
  42. $this->tipoassociado = new Tipoassociado($this->tipoassociado_id);
  43. // returns the associated object
  44. return $this->tipoassociado;
  45. }
  46. public function get_tipoassociado_nome()
  47. {
  48. // loads the associated object
  49. if (empty($this->tipoassociado))
  50. $this->tipoassociado = new Tipoassociado($this->tipoassociado_id);
  51. // returns the associated object
  52. return $this->tipoassociado->TipoAssociado;
  53. }
  54. ///// ------------------- ON EDIT ---------------------------------
  55. if (isset($param['key']))
  56. {
  57. $key = $param['key'];
  58. $object = new Associado($key);
  59. $items = Graduacaoassociado::where('associado_id', '=', $key)->load();
  60. //$item2 = new Tipoassociado($object->tipoassociado_id);
  61. $session_items = array();
  62. foreach( $items as $item )
  63. {
  64. $item_key = $item->id;
  65. $session_items[$item_key] = $item->toArray();
  66. $session_items[$item_key]['id'] = $item->id;
  67. //$session_items[$item_key]['graduacao_id'] = $item->graduacao_id + graduacao->nome;
  68. }
  69. TSession::setValue(__CLASS__.'_items', $session_items);
  70. $object->tipoassociado_nome = 'TESTE'; //$object->Tipoassociado->TipoAssociado;
  71. // - VEJAM QUE AQUI ACIMA, ESTOU ATÉ FORÇANDO A PALAVRA 'TESTE' PARA VER SE EXIBE, MAS NÃO TRAZ NADA. SEMPRE VAZIO. MESMO O CAMPO DO FORM TENDO O MESMO NOME DO GET NO MODEL, O SISTEMA NÃO CARREGA A INFORMAÇÃO
  72. $this->form->setData($object); // fill the form with the active record data
  73. ?>

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

Se mesmo forçando o valor na função onEdit não funcionou, então provavelmente falta adicionar esse campo ao form através da função addField:
 
  1. <?php
  2. // no metodo construct
  3. $this->form->addFieldl($tipoassociado_nome);
  4. ?>
SS

Nataniel, valeu mesmo pelo dica. Agora funcionou perfeitamente!