Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Error - Adicionar additem antes do createmodel Pessoal, o framework retorna erro dizendo que: Você deve executar createModel antes de AdiantiWidgetDatagridTDataGrid::addItem, sendo que o createmodel está sendo criado e antes da adição dos items. Desta forma não consigo carregar os dados do banco. Algum colega pode me ajudar a identificar o erro? segue o código: ...
AT
Error - Adicionar additem antes do createmodel  
Pessoal, o framework retorna erro dizendo que: Você deve executar createModel antes de AdiantiWidgetDatagridTDataGrid::addItem, sendo que o createmodel está sendo criado e antes da adição dos items.
Desta forma não consigo carregar os dados do banco.
Algum colega pode me ajudar a identificar o erro?
segue o código:

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



Editado 18/12/2023 (há 4 meses) - Clique para ver alterações

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (1)


PD

Este código parece incompleto, as colunas não estão sendo adicionadas à datagrid.
Sugiro você se basear em uma versão completa do código, e a partir disso, fazer as adaptações:

Com dados estáticos:
https://framework.adianti.me/tutor/index.php?class=DatagridBootstrapView

Com uma consulta simples do banco:
https://framework.adianti.me/tutor/index.php?class=DatagridQueryView