ASP.NET如何在Postback后保持数据网格中的滚动位置
ASP.NET How to Maintain Scroll Position within a Datagrid After Postback
我有一个包含数据网格的aspx页面。这个数据网格通过SQL查询填充在代码后面,可以有1到1000行。
用户可以单击每一行并编辑该行的数据。然而,一旦保存,数据网格就会滚动回顶部,无论它们在哪里。我想在数据网格中保持滚动位置,这样用户就可以轻松地编辑下一行。我的aspx页面上有以下内容:
<script src="common.js" type="text/javascript"></script>
<script type = "text/javascript">
function setScroll(val) {
document.getElementById("hidscrollPos").value = val.scrollTop;
}
function scrollTo(what) {
document.getElementById(what).scrollTop =
document.getElementById("hidscrollPos").value;
}
</script>
<body MS_POSITIONING="GridLayout" onload="javascript:scrollTo('divDataGrid')">
<form id="form1" method="post" runat="server">
<asp:Panel ID="Panel4" style="left: 0px; position: absolute; top: 354px" runat="server">
<div id="divDataGrid" style="overflow:scroll;" onscroll="javascript:setScroll(this);">
<asp:DataGrid ID="grdItem" runat="server" AllowSorting="True"
AutoGenerateColumns="False" style="position: absolute; top: 50px"
CssClass="grdGrid" Font-Size="X-Small" GridLines="None" Width="97%"
Height="4px" CellPadding="1">
</asp:DataGrid>
</div>
</asp:Panel>
<input type="hidden" id="hidscrollPos" name="scrollPos" value="0" runat="server" />
</form>
</body>
在数据网格中,我定义了11个asp:TemplateColumns,我认为(希望?)与这个问题无关。如果需要的话,我当然可以添加该代码。
我的.css文件有这个grdGrid:
.grdGrid
{
FONT-SIZE: 12px;
FONT-FAMILY: Verdana;
BACKGROUND-COLOR: white
}
我使用的是Visual Studio 2008和IE9。用户将使用IE8或IE9。
任何帮助都将不胜感激!
您能将数据网格封装在UpdatePanel中吗?
我的头靠墙撞了几个小时,终于想通了。
上面发布的代码是正确的,工作非常完美。问题是divDataGrid包含在另一个div中,并且div有溢出:auto-set。所以我看到的滚动条来自div,而不是divDataGrid或grdItem。
一旦我从上一个div中删除了overflow:auto设置,一切都开始工作了。
相关文章:
- 剑道网格jQuery动画()问题
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 我可以更改剑道UI网格吗's的外键值
- jqGrid树网格问题
- 在Three.js中导出网格会提高性能吗
- 如何在剑道网格初始化后设置pageSizes
- 在threejs中使用纹理网格和线框网格
- 如何在可分组的剑道网格中设置空数据文本
- 如何在Angular UI网格中选择下一行
- ExtJS网格单元格编辑器,防止焦点松动问题
- 多维数据集网格未在指定的分区中绘制
- 光线投射从内部投射时不会碰到网格
- 使用javascript在MVC中查找网格长度时出错
- 如何刷新AngularJs剑道网格
- 使用导航属性创建Kendo UI网格模型的问题
- ui网格将单元格显示为选择标记
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 使用按钮的Angular UI网格过滤器
- 如何在master中调用细节网格作为单击事件
- ui网格:在自定义表头模板中触发排序