Lançado Adianti Framework 7.6!
Clique aqui para saber mais
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.     
  19.     // Creates the page and the registration form
  20.     function __construct($param)
  21.     {
  22.         parent::__construct();
  23.         parent::include_js('app/lib/include/application.js');  
  24.         
  25.         $this->form = new TForm('form_endereco');
  26.         
  27.         // cria fieldlist
  28.         
  29.         $this->fieldlist = new TFieldList;
  30.         $this->fieldlist->width '100%';
  31.         $this->fieldlist->name  'fdlEndereco';
  32.         $this->form->add($this->fieldlist);
  33.         // define campos
  34.         
  35.         $id             = new TEntry('list_id[]');
  36.         $enderecos_id   = new TDBCombo('list_enderecos_id[]''setcis''Enderecos''id''descricao''descricao asc');
  37.         $cep            = new TEntry('list_cep[]');
  38.         $logradouros_id = new TDBCombo('list_logradouros_id[]''setcis''Logradouros''id''descricao''descricao asc');
  39.         $endereco       = new TEntry('list_endereco[]');
  40.         $numero         = new TEntry('list_numero[]');
  41.         $complemento    = new TEntry('list_complemento[]');
  42.         $bairro         = new TEntry('list_bairro[]');
  43.         $cidade_id      = new TDBCombo('list_cidade_id[]''setcis''Municipio''id''nome''nome asc');
  44.         $estado_id      = new TDBCombo('list_estado_id[]''setcis''Estado''id''sigla''sigla asc');
  45.         $actEnd = new TCombo('list_action');
  46.         $entidade_id = new THidden('list_entidade_id[]');
  47.         
  48.         // Tamanhos
  49.         
  50.         $id->setSize('100%'); 
  51.         $enderecos_id->setSize('100%');
  52.         $cep->setSize('100%');
  53.         $logradouros_id->setSize('100%');
  54.         $endereco->setSize('100%');
  55.         $numero->setSize('100%');
  56.         $complemento->setSize('100%');
  57.         $bairro->setSize('100%');
  58.         $cidade_id->setSize('100%');
  59.         $estado_id->setSize('100%');
  60.         $actEnd->setSize('100%');   
  61.         
  62.         // styles
  63.         
  64.         $cep->style="background-color: #ffff99; text-align: left";        
  65.         $numero->style="text-align: center"
  66.         $complemento->style 'text-transform: uppercase';
  67.         
  68.         // define ações
  69.         
  70.         $items = ['1'=>'SALVAR''2'=>'EXCLUIR''3'=>'SUCESSO''4'=>'MAPA'];  
  71.         $actEnd->addItems($items);
  72.         $actEnd->setValue('1');        
  73.         
  74.         $id->setEditable(FALSE); 
  75.         //$( "#id" ).prop( "disabled", true );
  76.         $cep->setExitAction(new TAction(array($this'onCep')));
  77.         $change_action = new TAction(array($this'onDefine'));
  78.         $actEnd->setChangeAction($change_action);
  79.         
  80.         $change_cidade_id = new TAction(array($this'onDetalhes'));
  81.         $cidade_id->setChangeAction($change_cidade_id);        
  82.  
  83.         // monta fieldlist    
  84.  
  85.         $this->fieldlist->addField'ID'$id, ['width' => '4%']);
  86.         $this->fieldlist->addField'Tipo'$enderecos_id, ['width' => '6%']);
  87.         $this->fieldlist->addField'Cep'$cep, ['width' => '6%']);
  88.         $this->fieldlist->addField'Logradouro'$logradouros_id, ['width' => '6%']);
  89.         $this->fieldlist->addField'Endereco'$endereco, ['width' => '18%']);
  90.         $this->fieldlist->addField'Número'$numero, ['width' => '5%']);
  91.         $this->fieldlist->addField'Complemento'$complemento, ['width' => '10%']);
  92.         $this->fieldlist->addField'Bairro'$bairro, ['width' => '10%']);
  93.         $this->fieldlist->addField'Cidade'$cidade_id, ['width' => '10%']);
  94.         $this->fieldlist->addField'Estado'$estado_id, ['width' => '4%']);
  95.         $this->fieldlist->addField'Salvar/Excluir'$actEnd, ['width' => '2%']);
  96.         $this->fieldlist->addField''$entidade_id);
  97.         $this->fieldlist->width '100%';
  98.          
  99.         // adiciona campos no form
  100.         
  101.         $this->form->addField($id);
  102.         $this->form->addField($enderecos_id);
  103.         $this->form->addField($cep);
  104.         $this->form->addField($logradouros_id);
  105.         $this->form->addField($endereco);
  106.         $this->form->addField($numero);
  107.         $this->form->addField($complemento);
  108.         $this->form->addField($bairro);
  109.         $this->form->addField($cidade_id);
  110.         $this->form->addField($estado_id);
  111.         $this->form->addField($actEnd);
  112.         $this->form->addField($entidade_id);
  113.         
  114.         // create the page container
  115.         
  116.         $container = new TVBox;
  117.         $container->style 'width: 100%';
  118.         $container->add($this->form);
  119.         
  120.         parent::add($container);
  121.         
  122.         $this->onLoad($param);
  123.         
  124.     }
  125.     
  126. /*    // metodo show() - mostra os dados na pagina
  127.         
  128.     public function show()
  129.     {
  130.         if (!$this->loaded AND (!isset($_GET['method']) OR $_GET['method'] !== 'onLoad') )
  131.         {
  132.             $this->onLoad(0);
  133.         }
  134.         parent::show();
  135.     }    
  136. */    
  137.     // metodo carga do fieldlist
  138.     
  139.     function onLoad($param)
  140.     {
  141.         try
  142.         {
  143.             TTransaction::open('setcis');
  144.             
  145.             //var_dump($param);
  146.             
  147.             $id_ent $param//TSession::getValue('id_entidade'); 
  148.             if ($id_ent != 0)
  149.             {
  150.                 $objEndereco EntidadeEndereco::where('entidade_id''='$id_ent)->load();
  151.             
  152.                 if ($objEndereco)
  153.                 {
  154.                     $this->fieldlist->addHeader();
  155.                     
  156.                     foreach ($objEndereco as $end)
  157.                     {
  158.                         $objForm                      = new stdClass;
  159.                         $objForm->list_id             $end->id;
  160.                         $objForm->list_enderecos_id   $end->enderecos_id;
  161.                         $objForm->list_cep            $end->cep;
  162.                         $objForm->list_logradouros_id $end->logradouros_id;
  163.                         $objForm->list_endereco       $end->endereco;     
  164.                         $objForm->list_numero         $end->numero;
  165.                         $objForm->list_complemento    $end->complemento;
  166.                         $objForm->list_bairro         $end->bairro;
  167.                         $objForm->list_cidade_id      $end->cidade_id;     
  168.                         $objForm->list_estado_id      $end->estado_id
  169.                     
  170.                         $row $this->fieldlist->addDetail($objForm);
  171.                         $row->del($row->get(count($row->getChildren())-1));
  172.                     }
  173.                     $row $this->fieldlist->addDetail( new stdClass );
  174.                     $row->del($row->get(count($row->getChildren())-1)); 
  175.                 }
  176.                 else
  177.                 {
  178.                     $row $this->fieldlist->addDetail( new stdClass );
  179.                     $row->del($row->get(count($row->getChildren())-1)); 
  180.                 }
  181.             } 
  182.             else
  183.             {
  184.                 $this->fieldlist->addHeader();
  185.                 $row $this->fieldlist->addDetail( new stdClass );
  186.                 $row->del($row->get(count($row->getChildren())-1)); 
  187.             }  
  188.              
  189.             TTransaction::close();
  190.         }
  191.         catch (Exception $e
  192.         {
  193.             new TMessage('error'$e->getMessage());
  194.               
  195.             TTransaction::rollback();
  196.         }
  197.     }        
  198.     

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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