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.     

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 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