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
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
- <?php
- // -- delaclaração dos campos
- $id = new TEntry('id');
- $NomeAssociado = new TEntry('NomeAssociado');
- $Endereco = new TEntry('Endereco');
- $Bairro = new TEntry('Bairro');
- //$tipoassociado_id = new TDBCombo('tipoassociado_id','communication','Tipoassociado','id','TipoAssociado');
- $tipoassociado_id = new TSeekButton('tipoassociado_id');
- $tipoassociado_id->setAction( new TAction(array ('TipoassociadoSeek', 'onReload')));
- $tipoassociado_nome = new TEntry('tipoassociado_nome');
- $tipoassociado_nome->setEditable(FALSE);
- $Telefone = new TEntry('Telefone');
- $Email = new TEntry('Email');
- $table_general->addRowSet( new TLabel('Id'), $id );
- $table_general->addRowSet( new TLabel('Nome Associado'), $NomeAssociado );
- $table_general->addRowSet( new TLabel('Endereco'), $Endereco );
- $table_general->addRowSet( new TLabel('Bairro'), $Bairro );
- //$table_general->addRowSet( new TLabel('Tipo Associado'), $tipoassociado_id );
- $table_general->addRowSet( new TLabel('Tipo Associado Id'), [$tipoassociado_id, $tipoassociado_nome] );
- $table_general->addRowSet( new TLabel('Telefone'), $Telefone );
- $table_general->addRowSet( new TLabel('Email'), $Email );
- //// ------------------- ATRIBUTOS DO MODEL -------------------------------------
- public function __construct($id = NULL, $callObjectLoad = TRUE)
- {
- parent::__construct($id, $callObjectLoad);
- parent::addAttribute('NomeAssociado');
- parent::addAttribute('Endereco');
- parent::addAttribute('Bairro');
- parent::addAttribute('tipoassociado_id');
- parent::addAttribute('Telefone');
- parent::addAttribute('Email');
- }
- public function set_tipoassociado(Tipoassociado $object)
- {
- $this->tipoassociado = $object;
- $this->tipoassociado_id = $object->id;
- }
- public function get_tipoassociado()
- {
- // loads the associated object
- if (empty($this->tipoassociado))
- $this->tipoassociado = new Tipoassociado($this->tipoassociado_id);
- // returns the associated object
- return $this->tipoassociado;
- }
- public function get_tipoassociado_nome()
- {
- // loads the associated object
- if (empty($this->tipoassociado))
- $this->tipoassociado = new Tipoassociado($this->tipoassociado_id);
- // returns the associated object
- return $this->tipoassociado->TipoAssociado;
- }
- ///// ------------------- ON EDIT ---------------------------------
- if (isset($param['key']))
- {
- $key = $param['key'];
- $object = new Associado($key);
- $items = Graduacaoassociado::where('associado_id', '=', $key)->load();
- //$item2 = new Tipoassociado($object->tipoassociado_id);
- $session_items = array();
- foreach( $items as $item )
- {
- $item_key = $item->id;
- $session_items[$item_key] = $item->toArray();
- $session_items[$item_key]['id'] = $item->id;
- //$session_items[$item_key]['graduacao_id'] = $item->graduacao_id + graduacao->nome;
- }
- TSession::setValue(__CLASS__.'_items', $session_items);
- $object->tipoassociado_nome = 'TESTE'; //$object->Tipoassociado->TipoAssociado;
- // - 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
- $this->form->setData($object); // fill the form with the active record data
- ?>
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:
Nataniel, valeu mesmo pelo dica. Agora funcionou perfeitamente!