Gridview单击编辑、选择等按钮时外围DIV滚动条跳到顶部的问题
2012-12-26 10:43
260 查看
问题描述:单击Gridview编辑、选择等按钮时因引起页面提交导致DIV滚动条回到顶部,需要用户手动定位到原来位置,很不方便
解决办法:
1、没有用AJAX时,在原来<%@ Page ……后面增加MaintainScrollPositionOnPostback="true"
2、当使用了AJAX时以上方法会失效,此时需要在DIV滚动时记住滚动条位置,并在提交后将其恢复
a、为外围DIV设置ID及滚动时要执行的代码:
<div id="dvGridView" style="overflow: auto; width: 200px; max-height:200px;" runat="server" onscroll="javascript:RecordPostion(this);">
b、增加2个隐藏按钮,保存值:
<asp:HiddenField ID="dvscrollX" runat="server" />
<asp:HiddenField ID="dvscrollY" runat="server" />
c、脚本:
<script type="text/javascript" language="javascript">
function RecordPostion(obj)
{
var div1 = obj;
var sx = document.getElementById('dvscrollX');
var sy = document.getElementById('dvscrollY');
sy.value = div1.scrollTop;
sx.value = div1.scrollLeft;
}
function GetResultFromServer() {
try {
var sx = document.getElementById('dvscrollX');
var sy = document.getElementById('dvscrollY');
document.getElementById('dvGridView').scrollTop = sy.value;
document.getElementById('dvGridView').scrollLeft = sx.value;
} catch (e) {
}
}
</script>
d、后台注册脚本:
protected void GridView1_DataBound(object sender, EventArgs e)
{
string sjs = "GetResultFromServer();";
ScriptManager.RegisterClientScriptBlock(this.GridView1, this.GetType(), "", sjs, true);
}
解决办法:
1、没有用AJAX时,在原来<%@ Page ……后面增加MaintainScrollPositionOnPostback="true"
2、当使用了AJAX时以上方法会失效,此时需要在DIV滚动时记住滚动条位置,并在提交后将其恢复
a、为外围DIV设置ID及滚动时要执行的代码:
<div id="dvGridView" style="overflow: auto; width: 200px; max-height:200px;" runat="server" onscroll="javascript:RecordPostion(this);">
b、增加2个隐藏按钮,保存值:
<asp:HiddenField ID="dvscrollX" runat="server" />
<asp:HiddenField ID="dvscrollY" runat="server" />
c、脚本:
<script type="text/javascript" language="javascript">
function RecordPostion(obj)
{
var div1 = obj;
var sx = document.getElementById('dvscrollX');
var sy = document.getElementById('dvscrollY');
sy.value = div1.scrollTop;
sx.value = div1.scrollLeft;
}
function GetResultFromServer() {
try {
var sx = document.getElementById('dvscrollX');
var sy = document.getElementById('dvscrollY');
document.getElementById('dvGridView').scrollTop = sy.value;
document.getElementById('dvGridView').scrollLeft = sx.value;
} catch (e) {
}
}
</script>
d、后台注册脚本:
protected void GridView1_DataBound(object sender, EventArgs e)
{
string sjs = "GetResultFromServer();";
ScriptManager.RegisterClientScriptBlock(this.GridView1, this.GetType(), "", sjs, true);
}
相关文章推荐
- 关于gridview上的编辑、选择等按钮显示英文的问题解决。
- 关于gridview上的编辑、选择等按钮显示英文的问题解决
- 请单击下面的按钮,以重定向到可以选择新数据存储区的页。下面的消息可能会有助于诊断问题: 无法连接到 SQL Server 数据库。
- 单击gridview中的选择按钮跳转到另一个页面的方法
- 关于ASP.NET中GridView控件中编辑和删除按钮布局问题
- 。窗体上有一个文本框(多行、且带有垂直滚动条)、一个标签(字体颜色红色、字号16)、一个按钮(该按钮被单击时,实现将文本框中选择文本复制至标签。
- GridView 添加、删除、编辑按钮问题
- [翻译]在GridView中针对鼠标单击的某一独立单元格进行编辑
- 怎样使可编辑的DIV固定大小,当内容多时,就自动出现滚动条
- 手动绑定的GridView控件,“编辑”“删除”按钮的委托代码怎么写
- gridview 单元格单击编辑
- 点击按钮跳到当前页面指定的div和跳到顶部或底部
- 关于ASP.NET中GridView控件的编辑和删除问题!
- div不可编辑的问题
- android 多选择框或按钮选中取值传值问题的解决
- gridview问题解答 :按钮的Enalbe状态 / 首页\尾页\上一页等 / 显示短时间,年\月\日 / 数据库存是1和0,显示为男和女等!
- 添加/编辑应用程序扩展名映射时,确定按钮无法点击的问题
- 解决在Safari、IE高版本中采用自定义选择文件按钮ajaxFileUpload不能上传问题
- aspxgridview 打开顶部条件清除与显示选择确定框
- DevExpress 关于 GridView 表格编辑中 点击其他按钮里导致 值未取到处理