{parts/gtag_head.html} {parts/gtag_body.html}
Mês do Programador

Vamos comemorar juntos o seu mês.
Aproveite condições especiais.

Cursos, combos e assinaturas com desconto exclusivo para comemorar o Dia do Programador. Tempo limitado.

Promoção válida de 14/09 à 25/09

De 30% Até50% OFF
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,...
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:

 
  1. <?php
  2. class AnosList extends TPage
  3. {
  4. private $form;
  5. private $datagrid;
  6. private $pageNavigation;
  7. private $loaded;
  8. public function __construct()
  9. {
  10. parent::__construct();
  11. $this->datagrid = new BootstrapDatagridWrapper(new TDataGrid);
  12. $this->datagrid->width = '100%';
  13. $col_id = new TDataGridColumn('id', 'Código', 'right', '10%');
  14. $col_anos = new TDataGridColumn('cad_ano_ano', 'Anos', 'left', '90%');
  15. /**
  16. *
  17. * ordenação aqui.
  18. *
  19. * **/
  20. $this->datagrid->addColumn($col_id);
  21. $this->datagrid->addColumn($col_anos);
  22. $action1 = new TDataGridAction( ['Cad_AnosForm', 'onEdit'], ['key' => '{id}'] );
  23. $action2 = new TDataGridAction( [$this, 'onDelete'], ['key' => '{id}'] );
  24. $this->datagrid->addAction($action1, 'Editar', 'fa:edit blue');
  25. $this->datagrid->addAction($action2, 'Excluir', 'fa:trash-alt red');
  26. $this->datagrid->createModel();
  27. $this->pageNavigation = new TPageNavigation;
  28. $this->pageNavigation->setAction( new TAction([$this, 'onReload'] ));
  29. /* $vbox = new TVBox;
  30. $vbox->style = 'width:100%';
  31. $vbox->add($this->datagrid);
  32. $vbox->add($this->pageNavigation);*/
  33. $panel = new TPanelGroup;
  34. $panel->add($this->datagrid);
  35. $panel->add($this->pageNavigation);
  36. parent::add($panel);
  37. }
  38. public static function onReload($param)
  39. {
  40. try
  41. {
  42. TTransaction::open('gto_software02');
  43. $repository = new TRepository('Cad_AnosCreate');
  44. $criteria = new TCriteria;
  45. $anos = $repository->load($criteria);
  46. $this->datagrid->clear(); // para limpar a datagrid
  47. if ($anos)
  48. {
  49. foreach ($anos as $ano)
  50. {
  51. $this->datagrid->addItem($ano);
  52. }
  53. }
  54. $this->loaded = true;
  55. TTransaction::close();
  56. }
  57. catch (Exception $e)
  58. {
  59. new TMessage('error', $e->getMessage());
  60. }
  61. }
  62. public static function onDelete($param)
  63. {
  64. }
  65. function show()
  66. {
  67. if (!$this->loaded)
  68. {
  69. $this->onReload( func_get_arg(0) );
  70. }
  71. parent::show();
  72. }
  73. }
  74. ?>
Editado 30/10/2023 (há 2 anos) - Clique para ver alterações

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 (1)


AT

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.