Grid chamando modal

Pessoal, tenho a seguinte dúvida:

Tenho uma grid que funciona nela um auto refresh a cada 20 seg. Nessa mesma aplicação, eu tenho um link para uma blank que é aberta em modal através da macro sc_link. O problema é que como tem o auto refresh, quando eu estou com o modal aberto, o auto refresh continua a funcionar fazendo assim com que o modal feche de forma automática também.

Alguém pode me dar uma luz de como resolver isso?

Thyago.

Nesse caso você terá que controlar o refresh por javascript ou jquery e ao acionar a modal suspender o refresh.

Certo, mas como eu suspenderia o refresh?

Mais uma coisa!!!

Do jeito que eu estou fazendo, eu usei variavel global. Na primeira vez que eu entro na grid e acesso o modal, funciona.

Mas se eu fechar o modal e tentar abrir de novo, fica fazendo o refresh.

O refresh não seria acionado pelo tag http-equiv=“refresh” e sim através de um temporizador javascript que acionaria o refresh e ao abrir o modal você para o temporizador.

Para ajudar a opção que o Haroldo passou, segue um javascript que faz o refresh por tempo

$tempo_ref = 5;//segundos
echo “”;

Agora o restante em jquery, zerar o contador não cheguei a testar

Se for continuar com sua opção que “quase” deu certo:

Troque a variável global por variável de sessão

[var_nomevar] por $_SESSION[‘var_nomevar’]

No blank exclua a variável de sessão

unset($_SESSION[‘var_nomevar’]);

Vamos lá, eu tentei da seguinte forma:

Evento onScriptInit da Consulta:

<script type='text/javascript'>
	var myRefresh;
	function myFunction() {
		myRefresh = setTimeout(function(){ location.reload(); }, 10000);
	}
</script>

No Evento onExecute da blank:

<script type='text/javascript'>
clearTimeout(myRefresh);
</script>

Deste jeito nem refresh está dando na página.

Bom dia!!!
Corrigindo o que eu falei ter feito acima, tentei da seguinte forma onde ele faz o refresh mas não para quando o modal é chamado:

No evento onScriptInit da consulta coloquei o seguinte:

<script type='text/javascript'>
	var myRefresh;
	myRefresh = setTimeout(function(){ location.reload(); }, 10000);
</script>

E no evento onExecute, da aplicação blank que está abrindo no modal, coloquei o seguinte:

<script type='text/javascript'>
	clearTimeout(myRefresh);
</script>

Alguém que possa me dar uma luz de como resolver isso?

Thyago,

O desligar do refresh deve estar no mesmo botão que chama a modal e não dentro da app chamada.

Pode me dar um exemplo por favor?

Você tem que inspecionar o link de chamada a modal, e criar um link manual chamando uma função javascript que desliga o refresh e chama a modal.

Eu teria que desenvolver o exemplo mas no momento não consigo.

Bom pessoal, como tinha urgencia nisso, acabei resolvendo tirando o modo de abrir em modal, ou seja, agora ao clicar no link que tem na consulta eu abro a imagem na mesma pagina (_self). Mas caso ainda alguém tenha alguma outra dica ou exemplo, agradeço.