Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
Selecionar Formulário para Edição Na datagrid tenho dois tipos de cadastros, PF e PJ e cada um tem seu formulario. Não estou conseguindo realizar essa ação. Segue o codigo que estou utilizando. esse é a ação na datagrid // create EDIT action $action_edit = new TDataGridAction(array($this, 'selecionarForm')); $action_edit->setButtonClass('btn btn-default'); $action_edit->setLabel(_t('E...
MP
Selecionar Formulário para Edição  
Na datagrid tenho dois tipos de cadastros, PF e PJ e cada um tem seu formulario. Não estou conseguindo realizar essa ação.

Segue o codigo que estou utilizando.


esse é a ação na datagrid

// create EDIT action
$action_edit = new TDataGridAction(array($this, 'selecionarForm'));
$action_edit->setButtonClass('btn btn-default');
$action_edit->setLabel(_t('Edit'));
$action_edit->setImage('far:edit blue');
$action_edit->setField('id');

Aqui a função que chamo para selecionar o form
public function selecionarForm($param)
{
//var_dump($param);
try
{
TTransaction::open('db_isis360');

if (isset($param['key']))
{
$key = $param['key'];
$CadastroPessoas = new tb_CadastroPessoas($key);

//var_dump($CadastroPessoas);
if ($CadastroPessoas->tipoPessoa == 'F')
{

//$action_edit = new TAction(array('CadastroPessoasNewForm', 'onEdit'));
TApplication::loadPage('CadastroPessoasNewForm','onEdit',$key);


}
else
{
//$action_edit = new TAction(array('CadastroPessoasNewForm', 'onEdit'));
TApplication::loadPage('CadastroPessoasNewForm','onEdit',$key);


}
}
}
catch (exception $e)
{
new TMessage('error', $e->getMessage());
}
}


o erro que ocorre é o seguinte:

Notice: Undefined index: id in C:xampphtdocsisis360appcontrolcadastrosCadastroPessoasNewForm.class.php on line 618



Notice: Undefined index: id in C:xampphtdocsisis360appcontrolcadastrosCadastroPessoasNewForm.class.php on line 620


Em anexo mando a imagem do trecho do onedit para referenciar as linhas do erro...

Aguardo uma luz para resolver isso... obrigado!!!

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)


MG

Marcos
No TApplication::loadPage(), o terceiro parâmetro deve ser um array.
Tente

 
  1. <?php
  2. $key = $param[''key'];
  3. TApplication::loadPage('CadastroPessoasNewForm','onEdit',['id' => $key]);// ou passe diretamente $param se tiver id
  4. ?>
FC

Somente complementando o Marcelo pode trocar o $key por $param.
MP

Obrigado a todos... funcionou..utilizei o $param e foi carregado o form correto e os dados com sucesso!!! obrigado pela ajuda... logo mais estarei apto a colaborar tbm com todos por aqui!!! forte abraco!