variável $this->seq não disponível em uma função da classe Pessoal, está me acontecendo um erro que ainda não descobri a causa. Eu já uso em outras classes master/detail uma variável $this->seq que uso para saber qual o próximo id a adicionar no detail, só que nesta classe ela está me chegando vazia quando entra na função onAtributoAdd. class Exemplo extends TPage { protected $form; // form protected $formFields; protected $at...
DD
variável $this->seq não disponível em uma função da classe  
Pessoal, está me acontecendo um erro que ainda não descobri a causa.
Eu já uso em outras classes master/detail uma variável $this->seq que uso para saber qual o próximo id a adicionar no detail, só que nesta classe ela está me chegando vazia quando entra na função onAtributoAdd.

class Exemplo extends TPage
{
protected $form; // form
protected $formFields;
protected $atributos_list;
protected $atributos_seq;

public function onAtributoAdd($param)
{
try
{
$data = $this->form->getData();
var_dump('onAtributoAdd: '.$this->atributos_seq); # aqui me mostra como null

$atributos = TSession::getValue('atributos');
if (trim($data->atributo_id) == ''){
$this->atributos_seq = $this->atributos_seq + 1;
$key = $this->atributos_seq;
}else{
$key = $data->atributo_id;
}

$atributos[ $key ] = array('id' => $key,
'atributo_id_old' => $data->atributo_id_old,
'atributo_codigo' => $data->atributo_codigo,
'atributo_descricao' => $data->atributo_descricao
);

TSession::setValue('atributos', $atributos);

// clear product form fields after add
$data->atributo_id = '';
$data->atributo_id_old = '';
$data->atributo_codigo = '';
$data->atributo_descricao = '';

$this->form->setData($data);
$this->onReload( $param );
$this->onReloadAtributos( $param );
}
catch (Exception $e)
{
$this->form->setData( $this->form->getData());
new TMessage('error', $e->getMessage());
}

public function onReload($param)
{
aqui ele joga da tabela na lista e atribui o ultimo id no $this->atributos_seq.
eu mostro com var_dump o valor aparece o valor correto
}

}

}

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

Denilson, verifique se existe a função show nessa classe e se ela está chamando a função onReload. Exemplo abaixo gerado pelo master/detail padrão do Studio:
 
  1. <?php
  2. public function show()
  3. {
  4. // check if the datagrid is already loaded
  5. if (!$this->loaded AND (!isset($_GET['method']) OR $_GET['method'] !== 'onReload') )
  6. {
  7. $this->onReload( func_get_arg(0) );
  8. }
  9. parent::show();
  10. }
  11. ?>
DD

Nataniel, obrigado pela dica,

existe a função show()

o que tem diferente das outras classes que uso master/detail é que tenho dois onReload, na verdade tenho os ítens e dentro dos ítens um outro datagrig de outra tabela, tipo atributos do item, é nesse Segundo reload é que não tá funcionando a variável sequencia no momento de adicionar um atributo do item, quando edito, mostra conteúdo da variável, mas quando tento adicionar ela está vazia.