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!!!
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!!!
Marcos
No TApplication::loadPage(), o terceiro parâmetro deve ser um array.
Tente
Somente complementando o Marcelo pode trocar o $key por $param.
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!