Lançado Adianti Framework 7.6!
Clique aqui para saber mais
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 completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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.         
  13.         // clear form data
  14.         TForm::sendData('form_MecOrcamento'$data );
  15.         
  16.         // read session items
  17.         $items TSession::getValue(__CLASS__.'_items');
  18.         
  19.         // get detail id
  20.         $dtl_id $param['key'];
  21.         
  22.         // delete the item from session
  23.         unset($items$dtl_id ] );
  24.         
  25.         // rewrite session items
  26.         TSession::setValue(__CLASS__.'_items'$items);
  27.         
  28.         // delete item from screen
  29.         TScript::create("ttable_remove_row_by_id('MecOrcamento_list', '{$dtl_id}')");
  30.         //$this->onReload( func_get_arg(0) );
  31.     }
  32. ?>
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.