Inscrições abertas para nosso Webinar anual Adianti Framework 2024!
Clique aqui para saber mais
Postagem estática (sem recarga) de formulários O Adianti Framework usa de maneira extensiva Requisições AJAX em todos os processamentos de ações. Quando clicamos em uma ação de uma datagrid ou enviamos os dados de um formulário, somente o núcleo da página é recarregado, e não toda a página. Com isso, a navegação fica bastante fluida. Em um formulário, por exemplo, somente o núcleo da tela é atualizado para demonstrar as atuali...
PD
Postagem estática (sem recarga) de formulários  
Fechado
O Adianti Framework usa de maneira extensiva Requisições AJAX em todos os processamentos de ações. Quando clicamos em uma ação de uma datagrid ou enviamos os dados de um formulário, somente o núcleo da página é recarregado, e não toda a página. Com isso, a navegação fica bastante fluida. Em um formulário, por exemplo, somente o núcleo da tela é atualizado para demonstrar as atualizações que os campos sofreram após a postagem da ação. Como por exemplo, podemos citar o ID que é preenchido após a postagem.

Formulário


Entretanto, podemos até mesmo desligar esse comportamento e realizar a postagem estática do formulário. A postagem estática irá enviar os dados para o método, mas não irá recarregar o núcleo da página. O lado positivo é que serão transmitidos menos dados na requisição. O lado negativo é que não podemos usar a variável $this dentro de um método estático. Assim, devemos coletar os dados por meio do parâmetro $param.

No exemplo a seguir, pegamos o exemplo FormQuickView, que vem junto com o tutor, e marcamos o método onSave() como STATIC. Somente isso já fará com que somente os dados do formulário sejam postados para o método onSave(). Com isso, nenhuma parte da tela será recarregada, nem ao menos o formulário, como tradicionalmente ocorre. Nesse caso, não podemos usar a variável $this para chamar o $this->form->getData(), mas podemos obter todos os dados a partir da variável $param, que é um vetor. Dentro de um método estático podemos criar diálogos (TMessage) e também podemos invocar métodos estáticos como TForm::sendData().

  1. <?php
  2. class FormQuickView extends TPage
  3. {
  4.     function __construct() { ... }
  5.     public static function onSave($param)
  6.     {
  7.         // cria uma string com os valores dos elementos do formulário
  8.         $message 'Id: '           $param['id'] . '<br>';
  9.         $message.= 'Description : ' $param['description'] . '<br>';
  10.         $message.= 'Date1: '        $param['date1'] . '<br>';
  11.         $message.= 'Date2: '        $param['date2'] . '<br>';
  12.         $message.= 'Color : '       $param['color'] . '<br>';
  13.         $message.= 'List : '        $param['list'] . '<br>';
  14.         $message.= 'Text : '        $param['text'] . '<br>';
  15.         
  16.         // exibe a mensagem
  17.         new TMessage('info'$message);
  18.     }
  19. }
  20. ?>


Obs: Para conferir a mudança, você pode inspecionar a página e monitorar o tamanho da requisição na aba "Network".

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


ML

Dentro desse metodo static eu posso atualizar um datagrid dos dados capturados com $param na minha pagina ?