menu
Fórum Adianti
menu Menu
Problemas para fechar uma TWindow na versão 7.3 Atualizei para da 7.2 para a versão 7.3 e fiquei com um problema para fechar uma TWindow. Meu sistema chama uma list em TPage e no action do datagrid, chamo outra list em TWindow, onde farei uma manutenção de registros, porém quando edito ou incluo um novo que é aberta uma outra TWindow essa não fecha, pela ação de fechar, só no escape, até executa o OnReload, mas não fecha a janela....
DA
Problemas para fechar uma TWindow na versão 7.3  
Atualizei para da 7.2 para a versão 7.3 e fiquei com um problema para fechar uma TWindow.

Meu sistema chama uma list em TPage e no action do datagrid, chamo outra list em TWindow, onde farei uma manutenção de registros, porém quando edito ou incluo um novo que é aberta uma outra TWindow essa não fecha, pela ação de fechar, só no escape, até executa o OnReload, mas não fecha a janela.

A chamada para a primeira TWIndow

  1. <?php
  2.  public function onShowLog$param )
  3.    {
  4.        // get row position
  5.       $pos $this->datagrid->getRowIndex('id'$param['key']);
  6.           
  7.       $lastpage TSession::getValue('lastpage');
  8.      
  9.       TSession::setValue('cliente_id_'.$lastpage,$param);
  10.       TSession::setValue('keyatual_'.$lastpage,$param['key']);
  11.       TTransaction::open('cobrebem');
  12.       $master_object = new Clientes($param['cliente_id']);
  13.       TTransaction::close();
  14.       TSession::setValue('consulta_cli','<b>'.$master_object->nome.'</b> Fone 1 :<b>'.$master_object->fone1.' </b> Fone 2 : <b>'.$master_object->fone2.'</b> Celular : <b>'.$master_object->celular.'</b>');
  15.       TApplication::loadPage('LogCobrancaList''onReload', ['key'=>$param['id'], 'register_state' => 'false']);
  16.    }
  17. ?>


A chamada para a segunda TWindow, usando as Actions para incluir ou editar

  1. <?php
  2. $this->form->addActionLink(_t('New'), new TAction(['LogCobrancaForm''onEdit'], ['register_state' => 'false']), 'fa:plus green');
  3. $action1 = new TDataGridAction(['LogCobrancaForm''onEdit'], ['id'=>'{id}''register_state' => 'false']);
  4. ?>

A chamada para fechar a segunda TWindow que não fecha mais.

  1. <?php
  2. $this->form->addHeaderActionLink_t('Close'), new TAction(array('LogCobrancaList''onReload')), 'fa:times red');
  3. ?>


Uma solução que encontrei, não sei se é a mais elegante ou correta. Modifiquei a ação do Close, criando uma function para ser chamada, e lá dei o closewindow.

  1. <?php
  2. $this->form->addHeaderActionLink_t('Close'),  new TAction([__CLASS__'onClose'], ['static'=>'1']), 'fa:times red');
  3. public static function onClose()
  4.     {
  5.         TApplication::loadPage('LogCobrancaList''onReload', ['key'=>$param['id'], 'register_state' => 'false']);
  6.         parent::closeWindow();
  7.     }
  8. Na imagem em anexodá para verificar o encadeamento de janelas que preciso

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