Retroceder   Foros del Web > Programación para sitios web > .NET

Respuesta
 
Herramientas Desplegado
Antiguo 17-sep-2004, 16:08   #1 (permalink)
jose_d está en el buen camino
 
Avatar de jose_d
 
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 192
Enviar un mensaje por MSN a jose_d
Pregunta Retener Scroll en girdlayout

hola como van

tengo un gridlayout que tiene la propiedad autoscroll como le hago para mantener la posicion en un postback gracias
__________________
El leer te da el poder de mejorar
jose_d está desconectado   Responder Citando
Antiguo 17-sep-2004, 16:53   #2 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.527
Enviar un mensaje por MSN a RootK
Checa las FAQ´S.

Aqui está..

FAQ´S del foro de Net


Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Antiguo 18-sep-2004, 08:39   #3 (permalink)
jose_d está en el buen camino
 
Avatar de jose_d
 
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 192
Enviar un mensaje por MSN a jose_d
Hola RootK como vas...
Que pena con vos pero ya probe con lo que esta en las Faqs el punto es que el StaticPostBackPosition me retiene el scroll de la pagina pero no el de los gridlayout. Entonces cuando sucede el postback este me mantiene el scroll de la pagina mas no de los grid. La propiedad de los grid es Overflow = auto.
Espero me puedan ayudar...
de antemano Gracias
__________________
El leer te da el poder de mejorar
jose_d está desconectado   Responder Citando
Antiguo 22-sep-2004, 09:24   #4 (permalink)
jose_d está en el buen camino
 
Avatar de jose_d
 
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 192
Enviar un mensaje por MSN a jose_d
Cool Ya he podido solucionar mi problema

Buscando con el maestro google encontre este codigo que me permite mantener el scroll en un gridlayout panel (Div)
esto como se logra creando un Js con este codigo
Código:
 
var __oScrollPos;

window.onload=InitScrollPos;

function InitScrollPos(){

__oScrollPos = document.all['__SCROLLPOSITIONS'];

if (__oScrollPos!=undefined){

LoadScrollPos();

basePostBack = __doPostBack;

__doPostBack = MyPostBack;

document.forms[0].onsubmit = MyPostBackFrm;

}

}

function MyPostBackFrm(){

SaveScrollPos();

document.forms[0].submit();

}

function MyPostBack(eventTarget, eventArgument){

SaveScrollPos();

basePostBack(eventTarget, eventArgument);

}

function SaveScrollPos(){

var oNodeList = document.body.getElementsByTagName('DIV');

var sPos = '';

for (i=0;i<oNodeList.length;i++){

oDiv = oNodeList[i];

if (oDiv.scrollTop>0) {

if (sPos.length>0) sPos = sPos + ',';

sPos=sPos + oDiv.id + ':' + oDiv.scrollTop;

}

}

__oScrollPos.value=sPos;

}

function LoadScrollPos(){

if (__oScrollPos.value=='') return;

var sPos = new String();

sPos = __oScrollPos.value

sItems = sPos.split(',');

for (i=0;i<sItems.length;i++){

var sItem = new String();

sItem = sItems[i];

var iSplit = sItem.indexOf(":",0);

sDiv = sItem.substring(0,iSplit);

sPos = sItem.substring(iSplit+1,sItem.length);

try {

document.all[sDiv].scrollTop=sPos;

} catch(e) { }

}

}

y en el load de la pagina colocas lo siguiente

Código:
 
RegisterStartupScript("ScrollPositions", "<script language=javascript src='Nombreyruta.js'></script>")

RegisterHiddenField("__SCROLLPOSITIONS", Request("__SCROLLPOSITIONS"))

Espero que este codigo les sea de utilidad a todos
__________________
El leer te da el poder de mejorar
jose_d está desconectado   Responder Citando
Antiguo 22-sep-2004, 09:29   #5 (permalink)
Moderador
RootK llegará a ser famoso muy prontoRootK llegará a ser famoso muy pronto
 
Avatar de RootK
 
Fecha de Ingreso: noviembre-2002
Ubicación: México D.F
Mensajes: 7.527
Enviar un mensaje por MSN a RootK
Cool.. porque no lo haces parte de las faq´s..??

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .
RootK está desconectado   Responder Citando
Antiguo 21-dic-2007, 12:03   #6 (permalink)
azche_1 ha deshabilitado el karma
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Re: Ya he podido solucionar mi problema

Cita:
Iniciado por jose_d Ver Mensaje
Buscando con el maestro google encontre este codigo que me permite mantener el scroll en un gridlayout panel (Div)
esto como se logra creando un Js con este codigo
Código:
 
var __oScrollPos;

window.onload=InitScrollPos;

function InitScrollPos(){

__oScrollPos = document.all['__SCROLLPOSITIONS'];

if (__oScrollPos!=undefined){

LoadScrollPos();

basePostBack = __doPostBack;

__doPostBack = MyPostBack;

document.forms[0].onsubmit = MyPostBackFrm;

}

}

function MyPostBackFrm(){

SaveScrollPos();

document.forms[0].submit();

}

function MyPostBack(eventTarget, eventArgument){

SaveScrollPos();

basePostBack(eventTarget, eventArgument);

}

function SaveScrollPos(){

var oNodeList = document.body.getElementsByTagName('DIV');

var sPos = '';

for (i=0;i<oNodeList.length;i++){

oDiv = oNodeList[i];

if (oDiv.scrollTop>0) {

if (sPos.length>0) sPos = sPos + ',';

sPos=sPos + oDiv.id + ':' + oDiv.scrollTop;

}

}

__oScrollPos.value=sPos;

}

function LoadScrollPos(){

if (__oScrollPos.value=='') return;

var sPos = new String();

sPos = __oScrollPos.value

sItems = sPos.split(',');

for (i=0;i<sItems.length;i++){

var sItem = new String();

sItem = sItems[i];

var iSplit = sItem.indexOf(":",0);

sDiv = sItem.substring(0,iSplit);

sPos = sItem.substring(iSplit+1,sItem.length);

try {

document.all[sDiv].scrollTop=sPos;

} catch(e) { }

}

}

y en el load de la pagina colocas lo siguiente

Código:
 
RegisterStartupScript("ScrollPositions", "<script language=javascript src='Nombreyruta.js'></script>")

RegisterHiddenField("__SCROLLPOSITIONS", Request("__SCROLLPOSITIONS"))

Espero que este codigo les sea de utilidad a todos

encontre otra solucion tambien con la propiedad

MaintainScrollPositionOnPostback="true"
azche_1 está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:12.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93