Somatória do datagrid não atualiza após excluir um item Boa tarde! Gerei uma página no Adianti Studio utilizando o assistente Mestre/Detalhe. Inspirado no exemplo https://www.adianti.com.br/framework_files/tutor/index.php?class=POSFormView, implementei a somatória da coluna que funcionou perfeitamente, no entanto, assim que um item é deletado o total não é atualizado. Tentei adicionar uma linha no evento onDeleteDetail, conforme tutor ($this->o...
EC
Somatória do datagrid não atualiza após excluir um item  
Boa tarde! Gerei uma página no Adianti Studio utilizando o assistente Mestre/Detalhe. Inspirado no exemplo https://www.adianti.com.br/framework_files/tutor/index.php?class=POSFormView, implementei a somatória da coluna que funcionou perfeitamente, no entanto, assim que um item é deletado o total não é atualizado. Tentei adicionar uma linha no evento onDeleteDetail, conforme tutor ($this->onReload( func_get_arg(0)) ), mas me retornou um erro que não consigo resolver. Se puderem me ajudar, agradeço desde já...



Retorna o seguinte erro:
( ! ) Fatal error: Uncaught Error: Using $this when not in object context in E:wamp64wwwmultimecappcontrolorcamentoMecOrcamentoForm.class.php on line 342
( ! ) Error: Using $this when not in object context in E:wamp64wwwmultimecappcontrolorcamentoMecOrcamentoForm.class.php on line 342
Call Stack
# Time Memory Function Location
1 0.0010 405808 {main}( ) ...engine.php:0
2 0.0527 618224 TApplication::run( ) ...engine.php:64
3 0.0791 678224 AdiantiCoreAdiantiCoreApplication::run( ) ...engine.php:23
4 0.1260 704704 call_user_func:{E:wamp64wwwmultimeclibadianticoreAdiantiCoreApplication.php:49} ( ) ...AdiantiCoreApplication.php:49
5 0.1260 704704 MecOrcamentoForm::onDeleteDetail( ) ...AdiantiCoreApplication.php:49

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


EC

Código gerado no evento onDeleteDetail:

 
  1. <?php
  2. public static function onDeleteDetail( $param )
  3. {
  4. // reset items
  5. $data = new stdClass;
  6. $data->dtl_produto_id = '';
  7. $data->dtl_preco = '';
  8. $data->dtl_qtde = '';
  9. $data->dtl_total = '';
  10. $data->dtl_desc_prod = '';
  11. $data->tot_geral = '';
  12. // clear form data
  13. TForm::sendData('form_MecOrcamento', $data );
  14. // read session items
  15. $items = TSession::getValue(__CLASS__.'_items');
  16. // get detail id
  17. $dtl_id = $param['key'];
  18. // delete the item from session
  19. unset($items[ $dtl_id ] );
  20. // rewrite session items
  21. TSession::setValue(__CLASS__.'_items', $items);
  22. // delete item from screen
  23. TScript::create("ttable_remove_row_by_id('MecOrcamento_list', '{$dtl_id}')");
  24. //$this->onReload( func_get_arg(0) );
  25. }
  26. ?>
NR

Não é possível usar "$this" dentro de funções estáticas. Veja que no exemplo em que se baseou a função onDeleteDetail não é estática.
EC

Então Nataniel, ai que mora o problema... não consigo aplicar o exemplo do tutor em um arquivo gerado pelo Adianti Studio. Seria interessante que o exemplo fosse aplicável, para quem está iniciando em PHP.