Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Problemas com getData() a formulário de input em datagrid Olá a todos! Escrevo para pedir a ajuda URGENTE de alguém que me explique uma situação que já não sei mais o que fazer para entender: Tenho um form ('form_Cliente'), onde tenho o registro de cliente e logo abaixo uma datagrid com 2 campos de input anexados a outro form ('grid_form') e na linha da datagrid eu coloquei um botão para gravar o registo com os dados do cliente e também os da...
AG
Problemas com getData() a formulário de input em datagrid  
Olá a todos!
Escrevo para pedir a ajuda URGENTE de alguém que me explique uma situação que já não sei mais o que fazer para entender:

Tenho um form ('form_Cliente'), onde tenho o registro de cliente e logo abaixo uma datagrid com 2 campos de input anexados a outro form ('grid_form') e na linha da datagrid eu coloquei um botão para gravar o registo com os dados do cliente e também os dados da datagrid.

No caso é um registo de viagem, onde na datagrid eu escolho quantas pessoas (adultos e crianças) e faço o cálculo do total a pagar.

Acontece que se, depis de criar o botão 'Registar', eu escrever:
$this->form->setFields($botao_registar);

ao chegar ao método de destino, eu faço um
$this->form->getData() que mostra os campos PREENCHIDOS

um $this->grid_form->getData() que mostra apenas:
object(stdClass)#300 (0) { }

e um var_dump($param) que mostra o form_Cliente com os dados preenchidos.

PORÉM, se eu fizer
$this->grid_form->setFields($botao_registar);

o var dump do $this->form->getData() que mostra os campos VAZIOS
o var dump do $this->grid_data->getData() mostra o mesmo: object(stdClass)#300 (0) { }
e o var dump do $param mostra o os campos do form_Cliente também com os campos VAZIOS.

Resumindo,
em nenhuma hipótese eu consigo fazer getData() ao 'grid_form'
não percebo porque de uma forma o getData() ao 'form_Cliente' traz informação e da outra vem vazio

ME AJUDEM POR FAVOR!


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


NR

Como você tem 2 forms, um sempre virá vazio, pois o botão só envia os dados de 1 form por vez.

Sobre o fato de não conseguir fazer getData do grid_form, difícil dizer sem ver o código, mas você está registrando os campos no formulário(addField)?

De qualquer modo, sugiro pensar em uma forma de utilizar somente 1 formulário, vai ser mais fácil de trabalhar.
AG

Oi Nataniel, muito obrigado pela sua resposta.
Como eu tinha urgência, acabei por optar por deixar de lado a datagrid (que só iria ter sempre uma linha mesmo) e optei por juntar tudo num form só e resolvi a questão.
Tem lógica o botão só enviar um form, mas o estranho era não conseguir o getData...

Eu fiz algo assim, (de acordo com o exemplo em adianti.com.br/framework_files/tutor/index.php?class=DatagridInputVi) :
  1. <?php
  2.                 $objecto->grid_adultos = new TSpinner('adultos_inline');
  3.                 $objecto->grid_adultos->setValue(0);
  4.                 $objecto->grid_adultos->setRange(0$vagas_bd1);
  5.                 $objecto->grid_adultos->setExitAction(new TAction(array($this'checkTotal')));
  6.                 $objecto->grid_adultos->{'style'} = "text-align: center; font-size: 1.3em; background-color: #b3ffff;";
  7.                 
  8.                $this->grid_form->addField($objecto->grid_adultos);
  9. ?>


De qualquer forma eu superei o problema.
Valeu, muito obrigado!
Abel