tengo un gridlayout que tiene la propiedad autoscroll como le hago para mantener la posicion en un postback gracias
|
|
#3 (permalink) |
![]() |
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) |
![]() |
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:
y en el load de la pagina colocas lo siguiente
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) { }
}
}
Código:
Espero que este codigo les sea de utilidad a todos
RegisterStartupScript("ScrollPositions", "<script language=javascript src='Nombreyruta.js'></script>")
RegisterHiddenField("__SCROLLPOSITIONS", Request("__SCROLLPOSITIONS"))
![]()
__________________
El leer te da el poder de mejorar |
|
|
|
|
|
#6 (permalink) |
![]() Fecha de Ingreso: diciembre-2007
Mensajes: 4
|
Re: Ya he podido solucionar mi problema
Cita:
Iniciado por jose_d
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:
y en el load de la pagina colocas lo siguiente
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) { }
}
}
Código:
Espero que este codigo les sea de utilidad a todos
RegisterStartupScript("ScrollPositions", "<script language=javascript src='Nombreyruta.js'></script>")
RegisterHiddenField("__SCROLLPOSITIONS", Request("__SCROLLPOSITIONS"))
![]() encontre otra solucion tambien con la propiedad MaintainScrollPositionOnPostback="true" |
|
|
|
![]() |
| Herramientas | |
| Desplegado | |
|
|