Foros del Web » Programación para mayores de 30 ;) » .NET »

Retener Scroll en girdlayout

Estas en el tema de Retener Scroll en girdlayout en el foro de .NET en Foros del Web. hola como van tengo un gridlayout que tiene la propiedad autoscroll como le hago para mantener la posicion en un postback gracias...
  #1 (permalink)  
Antiguo 17/09/2004, 16:08
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 10 meses
Puntos: 4
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
  #2 (permalink)  
Antiguo 17/09/2004, 16:53
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 10 meses
Puntos: 50
Checa las FAQ´S.

Aqui está..

http://www.forosdelweb.com/showthrea...=15#post710826


Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 18/09/2004, 08:39
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 10 meses
Puntos: 4
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
  #4 (permalink)  
Antiguo 22/09/2004, 09:24
Avatar de jose_d  
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 10 meses
Puntos: 4
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
  #5 (permalink)  
Antiguo 22/09/2004, 09:29
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 10 meses
Puntos: 50
Cool.. porque no lo haces parte de las faq´s..??

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #6 (permalink)  
Antiguo 21/12/2007, 13:03
 
Fecha de Ingreso: diciembre-2007
Mensajes: 4
Antigüedad: 17 años
Puntos: 0
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"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:29.