Ir para o conteúdo

 Voltar a (WI) Geral -...
Tela cheia

Mini Tutorial sobre Renderização Parcial no WI.

29 de Agosto de 2013, 14:37 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 59 vezes
Olá pessoal,

     Uso o WI a muito tempo e nunca tinha usado a Renderização Parcial e depois de tirar dúvidas com Geraldo estou usando e muito bem. É muito útil, pois me permite submeter um trecho da página apenas.

      Quando precisava de algo assim tinha apenas 2 alternativas:

           1) Usar Eventos. É muito útil, mas isso me permite popular uma combo, buscar alguma informação no banco sem submeter a página e escrever essa informação em algum lugar. Com Eventos é possível guardar alguma informação no banco com um insert ou update. O tutorial é bem claro no uso disso.
                O meu uso mais comum de Events é quando seleciono um estado em uma combo e automaticamente uma outra combo é alimentada com todos os municípios daquele estado sem que seja necessário submeter a página.
            2) Ou submeter toda a página para ter uma ação desejada.

        Tinha uma situação aqui que precisava carregar uma grid baseado em informações que são selecionados em uma combo. Não vi como fazer isso através de eventos e não queria submeter a página a cada vez que o usuário alterasse a informação da .

        Fiz da seguinte forma:

                      1) Criei uma Grid com a seguinte query:
                             select v.codigo, v.data, c.nome as cliente, v.valor, v.obs, v.entrada, v.n_parcela, valor_aberto 
                             from venda v inner join cliente c on v.cod_cliente=c.codigo 
                              where cod_cliente = |tmp.cliente| order by data

                      2) Criei o HTML:

<form NAME="frmRecebimento" ACTION="/|wi.proj.id|/|wi.page.id|.wsp" METHOD="post" class="frm form-horizontal">

                           <div class="control-group">
                                  <label class="control-label" for="tmp.cliente">Escolha um Cliente:</label>
                                  <div class="controls">
                                        <select id="tmp.cliente" name="tmp.cliente" required>
                                             |combo.cliente|
                                        </select>
                                    </div>
                              </div>

                             <div class="well" id="DIVgrid">
                                  |grid.dividas_cliente|
                             </div>
</form>

                       3) No arquivo JS usando JQuery fiz:

                            $("select[name='tmp.cliente']").change(function(){
                                  rerenderSubmit(frmRecebimento,'DIVgrid');
                                  $("#DIVgrid").css('display','block');
                            });

                        4) Seleciona na página que terá a renderização a opção "Suportar Renderização Parcial"

VOILÁ

     Só isso pra fazer algo tão útil. O WebInside deixou bem simples!

     OBS: Na query da grid coloquei uma variável |tmp.cliente| que possui o mesmo nome da combo e no arquivo JS uso a função rerenderSubmit com o nome do form e, no meu caso, a div a ser submetida. Veja o help para entender o funcionamento e ver mais opções que a renderização parcial do WebInside traz.


      Espero ter contribuído.

                                      Samuel

Autor: Samuel Viana Fonseca


Essa comunidade não possui posts nesse blog