Fieldlist não carrega!!! ...
AT
Fieldlist não carrega!!!  
 
  1. <?php
  2. /*
  3. * EnderecoForm
  4. * @version 1.0
  5. * @package setcis
  6. * @author Antonio Augusto Tavares
  7. * @copyright Copyright (c) 2018 Setsoft - Consultoria e Informática Ltda
  8. */
  9. class EnderecoForm extends TPage
  10. {
  11. protected $form; // form
  12. protected $formfdl;
  13. protected $detail_row;
  14. protected $fieldlist;
  15. static $id_ent;
  16. static $actEnd;
  17. static $arrLogra;
  18. // Creates the page and the registration form
  19. function __construct($param)
  20. {
  21. parent::__construct();
  22. parent::include_js('app/lib/include/application.js');
  23. $this->form = new TForm('form_endereco');
  24. // cria fieldlist
  25. $this->fieldlist = new TFieldList;
  26. $this->fieldlist->width = '100%';
  27. $this->fieldlist->name = 'fdlEndereco';
  28. $this->form->add($this->fieldlist);
  29. // define campos
  30. $id = new TEntry('list_id[]');
  31. $enderecos_id = new TDBCombo('list_enderecos_id[]', 'setcis', 'Enderecos', 'id', 'descricao', 'descricao asc');
  32. $cep = new TEntry('list_cep[]');
  33. $logradouros_id = new TDBCombo('list_logradouros_id[]', 'setcis', 'Logradouros', 'id', 'descricao', 'descricao asc');
  34. $endereco = new TEntry('list_endereco[]');
  35. $numero = new TEntry('list_numero[]');
  36. $complemento = new TEntry('list_complemento[]');
  37. $bairro = new TEntry('list_bairro[]');
  38. $cidade_id = new TDBCombo('list_cidade_id[]', 'setcis', 'Municipio', 'id', 'nome', 'nome asc');
  39. $estado_id = new TDBCombo('list_estado_id[]', 'setcis', 'Estado', 'id', 'sigla', 'sigla asc');
  40. $actEnd = new TCombo('list_action');
  41. $entidade_id = new THidden('list_entidade_id[]');
  42. // Tamanhos
  43. $id->setSize('100%');
  44. $enderecos_id->setSize('100%');
  45. $cep->setSize('100%');
  46. $logradouros_id->setSize('100%');
  47. $endereco->setSize('100%');
  48. $numero->setSize('100%');
  49. $complemento->setSize('100%');
  50. $bairro->setSize('100%');
  51. $cidade_id->setSize('100%');
  52. $estado_id->setSize('100%');
  53. $actEnd->setSize('100%');
  54. // styles
  55. $cep->style="background-color: #ffff99; text-align: left";
  56. $numero->style="text-align: center";
  57. $complemento->style = 'text-transform: uppercase';
  58. // define ações
  59. $items = ['1'=>'SALVAR', '2'=>'EXCLUIR', '3'=>'SUCESSO', '4'=>'MAPA'];
  60. $actEnd->addItems($items);
  61. $actEnd->setValue('1');
  62. $id->setEditable(FALSE);
  63. //$( "#id" ).prop( "disabled", true );
  64. $cep->setExitAction(new TAction(array($this, 'onCep')));
  65. $change_action = new TAction(array($this, 'onDefine'));
  66. $actEnd->setChangeAction($change_action);
  67. $change_cidade_id = new TAction(array($this, 'onDetalhes'));
  68. $cidade_id->setChangeAction($change_cidade_id);
  69. // monta fieldlist
  70. $this->fieldlist->addField( 'ID', $id, ['width' => '4%']);
  71. $this->fieldlist->addField( 'Tipo', $enderecos_id, ['width' => '6%']);
  72. $this->fieldlist->addField( 'Cep', $cep, ['width' => '6%']);
  73. $this->fieldlist->addField( 'Logradouro', $logradouros_id, ['width' => '6%']);
  74. $this->fieldlist->addField( 'Endereco', $endereco, ['width' => '18%']);
  75. $this->fieldlist->addField( 'Número', $numero, ['width' => '5%']);
  76. $this->fieldlist->addField( 'Complemento', $complemento, ['width' => '10%']);
  77. $this->fieldlist->addField( 'Bairro', $bairro, ['width' => '10%']);
  78. $this->fieldlist->addField( 'Cidade', $cidade_id, ['width' => '10%']);
  79. $this->fieldlist->addField( 'Estado', $estado_id, ['width' => '4%']);
  80. $this->fieldlist->addField( 'Salvar/Excluir', $actEnd, ['width' => '2%']);
  81. $this->fieldlist->addField( '', $entidade_id);
  82. $this->fieldlist->width = '100%';
  83. // adiciona campos no form
  84. $this->form->addField($id);
  85. $this->form->addField($enderecos_id);
  86. $this->form->addField($cep);
  87. $this->form->addField($logradouros_id);
  88. $this->form->addField($endereco);
  89. $this->form->addField($numero);
  90. $this->form->addField($complemento);
  91. $this->form->addField($bairro);
  92. $this->form->addField($cidade_id);
  93. $this->form->addField($estado_id);
  94. $this->form->addField($actEnd);
  95. $this->form->addField($entidade_id);
  96. // create the page container
  97. $container = new TVBox;
  98. $container->style = 'width: 100%';
  99. $container->add($this->form);
  100. parent::add($container);
  101. $this->onLoad($param);
  102. }
  103. /* // metodo show() - mostra os dados na pagina
  104. public function show()
  105. {
  106. if (!$this->loaded AND (!isset($_GET['method']) OR $_GET['method'] !== 'onLoad') )
  107. {
  108. $this->onLoad(0);
  109. }
  110. parent::show();
  111. }
  112. */
  113. // metodo carga do fieldlist
  114. function onLoad($param)
  115. {
  116. try
  117. {
  118. TTransaction::open('setcis');
  119. //var_dump($param);
  120. $id_ent = $param; //TSession::getValue('id_entidade');
  121. if ($id_ent != 0)
  122. {
  123. $objEndereco = EntidadeEndereco::where('entidade_id', '=', $id_ent)->load();
  124. if ($objEndereco)
  125. {
  126. $this->fieldlist->addHeader();
  127. foreach ($objEndereco as $end)
  128. {
  129. $objForm = new stdClass;
  130. $objForm->list_id = $end->id;
  131. $objForm->list_enderecos_id = $end->enderecos_id;
  132. $objForm->list_cep = $end->cep;
  133. $objForm->list_logradouros_id = $end->logradouros_id;
  134. $objForm->list_endereco = $end->endereco;
  135. $objForm->list_numero = $end->numero;
  136. $objForm->list_complemento = $end->complemento;
  137. $objForm->list_bairro = $end->bairro;
  138. $objForm->list_cidade_id = $end->cidade_id;
  139. $objForm->list_estado_id = $end->estado_id;
  140. $row = $this->fieldlist->addDetail($objForm);
  141. $row->del($row->get(count($row->getChildren())-1));
  142. }
  143. $row = $this->fieldlist->addDetail( new stdClass );
  144. $row->del($row->get(count($row->getChildren())-1));
  145. }
  146. else
  147. {
  148. $row = $this->fieldlist->addDetail( new stdClass );
  149. $row->del($row->get(count($row->getChildren())-1));
  150. }
  151. }
  152. else
  153. {
  154. $this->fieldlist->addHeader();
  155. $row = $this->fieldlist->addDetail( new stdClass );
  156. $row->del($row->get(count($row->getChildren())-1));
  157. }
  158. TTransaction::close();
  159. }
  160. catch (Exception $e)
  161. {
  162. new TMessage('error', $e->getMessage());
  163. TTransaction::rollback();
  164. }
  165. }

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 (3)


AT

meus caros...bom dia...

Se alguém puder me ajudar, fico muito grato!!!
NR

Aqui funcionou sem problemas, única diferença é que passei dados diretamente ao invés de buscar no banco de dados.

Alguns detalhes:
 
  1. <?php
  2. // construct
  3. parent::include_js('app/lib/include/application.js'); // desnecessário, o Adianti já faz esse include
  4. // function on Load
  5. $id_ent = $param; // $param geralmente é um array preenchido automaticamente pelo Adianti contendo todos os dados da variável $_REQUEST, então pode ser que essa tentativa de passar um id diretamente ao construtor da classe não esteja dando certo
  6. ?>

AT

Boa noite... Nataniel

Obrigado pelo retorno, o erro não esta no $id_ent = $param, os objetos do endereco são carregados normalmente usando este $id_ent, tanto que enviei um var_dump do resultado, o foreach funciona normal apenas não carrega o fieldlist, gosto muito de usar este objeto, fiz umas adaptações e está atendendo muito bem,
mas neste caso não funciona, se tiver alguma outra idéia por favor retorne.

('app/lib/include/application.js'); este app/lib/include deve ficar dentro do projeto ?

[] obrigado