Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Chamar formulário passando parametro? Olá pessoa, estou tentando chamar um formulário através de uma ação de um botão no DataGrid, mas sempre fica retornando esse erro: Método Adianti\Control\TAction::__construct deve receber um parâmetro do tipo Callback Verifique se a ação (ArquivosList::onSelectArchive) existe erro aponta para essa linha: $action_sel = new TDataGridAction(array('ArquivosList', 'onSelectArchive'))...
IV
Chamar formulário passando parametro?  
Olá pessoa, estou tentando chamar um formulário através de uma ação de um botão no DataGrid, mas sempre fica retornando esse erro:

Método Adianti\Control\TAction::__construct deve receber um parâmetro do tipo Callback
Verifique se a ação (ArquivosList::onSelectArchive) existe

erro aponta para essa linha: $action_sel = new TDataGridAction(array('ArquivosList', 'onSelectArchive'));

  1. <?php
  2.             $action_sel = new TDataGridAction(array('ArquivosList''onSelectArchive'));
  3.             $action_sel->setUseButton(TRUE);
  4.             $action_sel->setButtonClass('btn btn-default');
  5.             $action_sel->setLabel('Arquivos');
  6.             $action_sel->setImage('fa:archive blue fa-lg');
  7.             $action_sel->setField('id');
  8.             $action_sel->setFk('empresa_id');
  9.             $this->datagrid->addAction($action_sel); 
  10.     ?>


É chamada esse trecho

  1. <?php
  2. function onSelectArchive() {
  3. // inicia transacao com o banco
  4. TTransaction::open('bd');
  5. $repository = new TRepository('Arquivos');
  6. $criteria = new TCriteria;
  7. $criteria->setProperty('order''nome');
  8. $criteria->setProperty('limited''10');
  9. $cadastros $repository->load($criteria);
  10. $this->datagrid->clear();
  11. if ($cadastros) {
  12. foreach ($cadastros as $cadastro) {
  13. $this->datagrid->addItem($cadastro);
  14. }
  15. }
  16. TTransaction::close();
  17. $this->loaded true;
  18. }
  19. ?>


Se alguém tiver uma dica?

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


ES

O seu trecho onSelectArchive() deve estar na classe ArquivosList.

Está assim?
IV

Não Eliezer, o techo tá no EmpresaForm. Como o trecho chama a classe ArquivoList imaginei que teria que ficar dentro da classe EmpresaForm.
IV

Acrescentei o techo, mas fiquei parado novamente com esse erro!


A classe ArquivosList deve ser subclasse de TRecord

File: /app/control/ArquivosList.class.php : 224
AdiantiDatabaseTRepository->__construct(ArquivosList)
File: :
ArquivosList->onSelect(ArquivosList,onSelect,1,1)
File: /lib/adianti/control/TPage.php : 51
call_user_func(ArquivosList,onSelect,ArquivosList,onSelect,1,1)
File: /lib/adianti/control/TPage.php : 213
AdiantiControlTPage->run()
File: /app/control/ArquivosList.class.php : 392
AdiantiControlTPage->show()
File: /lib/adianti/core/AdiantiCoreApplication.php : 53
ArquivosList->show(ArquivosList,onSelect,1,1)
File: /engine.php : 20
AdiantiCoreAdiantiCoreApplication::run(1)
File: /engine.php : 39
TApplication::run(1)