Atualizar grid ao fechar modal [RESOLVIDO]

Galera, bom dia! Eu tenho isso aqui e estou com um problema: quero que ao salvar os dados informados no controle (modal), feche o modal (isso já faz) e atualize a grid. Já fiz inúmeras tentativas aqui e todas sem sucesso. Vou listar abaixo o que já tentei:


Coloquei no onScriptInit da consulta este código:
?>
< script>
function FechaModal(){
tb_remove();
window.location.href = window.location.href;
}
< /script>

<?php

E no PHP do meu modal, tentei isso: sc_ajax_javascript("FechaModal",array());

Ou ainda isso:
?>

< script>
parent.FechaModal();
< /script>

<?php

Ainda tentei isso:
1) parent.FechaModal();
2) self.parent.FechaModal();
3) FechaModal();
4) window.parent.FechaModal();
5) document.parent.FechaModal();

Alguém saberia me ajudar nisso?

Tente isso:

Fechar Modal e Voltar ao Anterior (ATUALIZANDO as Informações do Mesmo)

Colocar isso em um botão do tipo PHP na app Controle que vc abriu:

// Seu Código PHP para fazer o update nas tabelas que precisa…

// Em seguida no final do seu código adicione:


sc_commit_trans();

echo "<script>

window.parent.document.forms[0].submit(); // ATUALIZAR O FORM EMBAIXO
    
window.parent.tb_remove(); // FECHAR A MODAL

</script>";
3 Curtidas

Obrigado desde já pela resposta. Mas não deu certo. No caso, ele atualiza o form e não só a grid. O form não deve ser atualizado

1 Curtida

Tenta esse:

sc_commit_trans();

echo "<script>

parent.location.reload();
self.parent.tb_remove();

</script>";
2 Curtidas

Já tinha tentado isso também e dá na mesma com uma única diferença. Antes de atualizar dá a mensagem “Para exibir esta página, o Firefox precisa enviar informações que repetirão qualquer ação (como uma pesquisa ou confirmação de compra) efetuada anteriormente.”

Consegui da seguinte forma:
No formulário principal, criei um método javascript com o seguinte código:

document.getElementById('nmsc_iframe_liga_grid_procedimento_agendados').src = document.getElementById('nmsc_iframe_liga_grid_procedimento_agendados').src;
tb_remove();

Onde: nmsc_iframe_liga_grid_procedimento_agendados é o id do iframe da grid.

No modal, coloco o seguinte:

?>
< script>
self.parent.FechaModal();
< /script>
<?php

E isso resolve todo o problema. Resolvi com a ajuda do @alubale

1 Curtida

Amigo @thyagohenrique85 sou iniciante no SC e estou com uma dúvida na sua solução relativo a parte do código que é inserida no modal, onde coloco este código?

Bom dia! Rapaz, já tem um tempo isso heim. Não me lembro do local. Mas ai digo que foi no próprio modal. Acredito que tenha colocado o código no onAfterInsert ou onAfterUpdate