AT
Dados não carregados, erro no datagrid
Prezados,
Boa tarde.
Sou novo na progração php. Estou tentando replicar um exercício do curso adminando o adianti framework7.
Acontece que ao desenvolver um form simples de listagem, está apresentando o seguinte erro(abaixo). Não estou entendendo qual a causa do problema. O código está semelhante ao que foi explicano nas vídeos aulas pelo prof. Pablo, mas o erro persiste.
Aos amigos, que puderem identificar a causa, fico grato.
Obs: o mesmo error contece para a linha: 72.
Segue o erro:
//-------------------------------------------------
Using $this when not in object context
C:xampphtdocsgto_software02appcontrolmain_gestaoAnosList.php:66
File: appcontrolmain_gestaoAnosList.php:97
AnosList::onReload(AnosList)
File: libadianticoreAdiantiCoreApplication.php:96
AnosList->show(AnosList)
File: engine.php:27
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php:66
TApplication::run()
//--------------------------------------------------------------
Segue o código da classe:
Boa tarde.
Sou novo na progração php. Estou tentando replicar um exercício do curso adminando o adianti framework7.
Acontece que ao desenvolver um form simples de listagem, está apresentando o seguinte erro(abaixo). Não estou entendendo qual a causa do problema. O código está semelhante ao que foi explicano nas vídeos aulas pelo prof. Pablo, mas o erro persiste.
Aos amigos, que puderem identificar a causa, fico grato.
Obs: o mesmo error contece para a linha: 72.
Segue o erro:
//-------------------------------------------------
Using $this when not in object context
C:xampphtdocsgto_software02appcontrolmain_gestaoAnosList.php:66
File: appcontrolmain_gestaoAnosList.php:97
AnosList::onReload(AnosList)
File: libadianticoreAdiantiCoreApplication.php:96
AnosList->show(AnosList)
File: engine.php:27
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php:66
TApplication::run()
//--------------------------------------------------------------
Segue o código da classe:
- <?php
- class AnosList extends TPage
- {
- private $form;
- private $datagrid;
- private $pageNavigation;
- private $loaded;
- public function __construct()
- {
- parent::__construct();
- $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
- $this->datagrid->width = '100%';
- $col_id = new TDataGridColumn('id', 'Código', 'right', '10%');
- $col_anos = new TDataGridColumn('cad_ano_ano', 'Anos', 'left', '90%');
- /**
- *
- * ordenação aqui.
- *
- * **/
- $this->datagrid->addColumn($col_id);
- $this->datagrid->addColumn($col_anos);
- $action1 = new TDataGridAction( ['Cad_AnosForm', 'onEdit'], ['key' => '{id}'] );
- $action2 = new TDataGridAction( [$this, 'onDelete'], ['key' => '{id}'] );
- $this->datagrid->addAction($action1, 'Editar', 'fa:edit blue');
- $this->datagrid->addAction($action2, 'Excluir', 'fa:trash-alt red');
- $this->datagrid->createModel();
- $this->pageNavigation = new TPageNavigation;
- $this->pageNavigation->setAction( new TAction([$this, 'onReload'] ));
- /* $vbox = new TVBox;
- $vbox->style = 'width:100%';
- $vbox->add($this->datagrid);
- $vbox->add($this->pageNavigation);*/
- $panel = new TPanelGroup;
- $panel->add($this->datagrid);
- $panel->add($this->pageNavigation);
- parent::add($panel);
- }
- public static function onReload($param)
- {
- try
- {
- TTransaction::open('gto_software02');
- $repository = new TRepository('Cad_AnosCreate');
- $criteria = new TCriteria;
- $anos = $repository->load($criteria);
- $this->datagrid->clear(); // para limpar a datagrid
- if ($anos)
- {
- foreach ($anos as $ano)
- {
- $this->datagrid->addItem($ano);
- }
- }
- $this->loaded = true;
- TTransaction::close();
- }
- catch (Exception $e)
- {
- new TMessage('error', $e->getMessage());
- }
- }
- public static function onDelete($param)
- {
- }
- function show()
- {
- if (!$this->loaded)
- {
- $this->onReload( func_get_arg(0) );
- }
- parent::show();
- }
- }
- ?>
Editado 30/10/2023 (há 6 meses) - Clique para ver alterações
Colegas,
Através deste post:
https://adiantiframework.com.br/forum/view_6925?span-classhighlightreferenciaspan-ao-span-classhighlightobjetospan-span-classhighlightatravesspan-do-span-classhighlightthisspan-dentro-de-uma-funcao
Consegui identificar o problema.
Obrigado.