Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Voltar para a listagem após salvar De uma LISTA escolho o registro de edição e chama o FORM (modo padrão do fw) Preciso que ao clicar no botao SALVAR do FORM , ele mostre a mensagem de sucesso, e apos a mensagem , faça o RELOAD para a FORMLIST que iniciou Só encontro exemplos, com um outro botão no form , tipo "retornar a lista" . Preciso que o botão salvar já retorne para a lista...
SF
Voltar para a listagem após salvar  
Fechado
De uma LISTA escolho o registro de edição e chama o FORM (modo padrão do fw)

Preciso que ao clicar no botao SALVAR do FORM , ele mostre a mensagem de sucesso, e apos a mensagem , faça o RELOAD para a FORMLIST que iniciou

Só encontro exemplos, com um outro botão no form , tipo "retornar a lista" . Preciso que o botão salvar já retorne para a lista

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


FC

Sergio

Basta colocar no final de sua linha salvar $this->onReload(); veja senão é interessante nesse caso usar o form/list.
RC

Olá Sergio,
para isso bastar criar uma ação passando a classe de controle (FORMLIST) que deseja ser redirecionado.

$action = new TAction(array(‘ClasseFormList’, ‘’));
SF

Eu coloquei na mensagem a ação , para voltar apos o OK da mensagem

new TMessage('info', 'Salvou',$action);

para funcionar como callback , mas não fez a ação apos o click OK
PD

Sergio,

Posta o código.

Att,
SF


  1. <?php
  2.  public function onSave()
  3.     {
  4.         try
  5.         {
  6.             $data $this->form->getData();
  7.             
  8.             //$this->form->validate();
  9.             
  10.             $this->form->setData$data );
  11.             
  12.             $mensagem 'Registro Salvo com sucesso';
  13.             
  14.             //new TMessage('info', $mensagem,$this->retornar());
  15.             
  16.             $acao = new TAction(array('CadCliList''onReload'))
  17.             
  18.             new TMessage('info'$mensagem );
  19.             
  20.             //$this->onReload();
  21.             
  22.               //    header("location:http://localhost/adianti/sicweb/index.php?class=CadCliList");
  23.             
  24.         }
  25.         catch (Exception $e)
  26.         {
  27.             new TMessage('error'$e->getMessage());
  28.         }
  29.     
  30.     }
  31. ?>
PD

Sérgio,

Colocar $acao como terceiro parâmetro do new TMessage deve funcionar.
Acabei de testar no FormQuickView, que vem junto com o tutor, e deu tudo certo, veja:

  1. <?php
  2.     public function onSave($param)
  3.     {
  4.         $data $this->form->getData(); // optional parameter: active record class
  5.         
  6.         // put the data back to the form
  7.         $this->form->setData($data);
  8.         
  9.         // creates a string with the form element's values
  10.         $message 'Id: '           $data->id '<br>';
  11.         $message.= 'Description : ' $data->description '<br>';
  12.         $message.= 'Date1: '        $data->date1 '<br>';
  13.         $message.= 'Date2: '        $data->date2 '<br>';
  14.         $message.= 'Color : '       $data->color '<br>';
  15.         $message.= 'List : '        $data->list '<br>';
  16.         $message.= 'Text : '        $data->text '<br>';
  17.         
  18.         $action = new TAction(array('CustomerDataGridView''onReload'));
  19.         new TMessage('info'$message$action);
  20.     }
  21. ?>
PL

Pra mim não funcionou isso ai, tem outra maneira antes de apelar pra gambiarra ?
PL

Desculpa
Terceiro Parâmetro Funciona Sim

  1. <?php
  2.             $back =  new TAction(array('ClientesList','onReload'));
  3.             new TMessage('info'TAdiantiCoreTranslator::translate('Record saved'), $back);
FF

Resgatando o assunto.

E se eu quiser voltar à listagem sem mostrar mensagem alguma?

Eu estou fazendo da seguinte forma.

  1. <?php
  2. $object->store();
  3. TTransaction::close();
  4. AdiantiCoreApplication::loadPage'ClasseListagem' );
  5. exit;
  6. ?>


O "exit" foi necessário para evitar o carregamento inteiro da página antes de navegar para ClasseListagem.

Funciona muito bem, mas aquele 'exit' me incomoda no fonte. Bela gambiarra.

Alguma sugestão?
DC

Fernando Fonseca, usei seu código para nao precisar clicar em ok depois de de salvar um registro no form, em vez do 'ok' eu disparo um toast dizendo que o registro foi salvo e volto para a listagem, funcionou bem, mas tambem me incomodou aquele exit, gostaria de saber qual seria a maneira correta de fazer isso. da maneira que esta, me pareceu uma bela gambiarra kkkkk