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!


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 (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) :
<?php                $objecto->grid_adultos = new TSpinner('adultos_inline');                $objecto->grid_adultos->setValue(0);                $objecto->grid_adultos->setRange(0, $vagas_bd, 1);                $objecto->grid_adultos->setExitAction(new TAction(array($this, 'checkTotal')));                $objecto->grid_adultos->{'style'} = "text-align: center; font-size: 1.3em; background-color: #b3ffff;";                               $this->grid_form->addField($objecto->grid_adultos);?>


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