Transformar campo THidden em TEntry no onEdit Estou com a seguinte dúvida. É possível, no onEdit, transformar um campo THidden num TEntry? Trata-se de um campo que no cadastro não precisa aparecer mas na edição precisa....
CS
Transformar campo THidden em TEntry no onEdit  
Estou com a seguinte dúvida. É possível, no onEdit, transformar um campo THidden num TEntry? Trata-se de um campo que no cadastro não precisa aparecer mas na edição precisa.

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)


NR

Veja se o exemplo abaixo ajuda. Ele mostra como exibir/ocultar determinada linha do formulário ao invés de trocar o tipo do componente:
adianti.com.br/framework_files/tutor/index.php?class=FormShowHideRow
CS

Nataniel,

preciso que ao carregar o form, na edição (onEdit), campos que estavam ocultos através do THidden se transformem em TEntry. Não consegui fazer...
NR

Cleber, no exemplo que passei você faria praticamente a mesma coisa, mas de outra maneira. Poderia sempre criar um TEntry, mas só exibí-lo na edição.

De qualquer forma, o código abaixo deve funcionar da maneira que você gostaria. Basicamente recebe os parâmetros da requisição no construtor da classe, interpreta para saber se é edição ou não e depois passa o mesmo parâmetro para a ação de salvar:
 
  1. <?php
  2. // construct recebendo os parametros da requisicao
  3. function __construct($param)
  4. {
  5. ....
  6. $dados_param = array();
  7. // edicao
  8. if (isset($param['key']))
  9. {
  10. $campo = new TEntry('campo');
  11. $dados_param = array('key'=>$param['key']);
  12. }
  13. // novo registro
  14. else
  15. {
  16. $campo = new THidden('campo');
  17. }
  18. ....
  19. // acao de salvar recebendo parametro key
  20. $this->form->addAction(_t('Save'), new TAction(array($this, 'onSave'),$dados_param), 'fa:floppy-o');
  21. ....
  22. }
  23. ?>
CS

Nataniel,

funcionou direitinho. Obrigado pela ajuda!