Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/09/2004, 09:24
Avatar de jose_d
jose_d
 
Fecha de Ingreso: enero-2003
Ubicación: Cali
Mensajes: 220
Antigüedad: 21 años, 9 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