滚动 div 内的 Radgrid 选择重置滚动位置
我在 div 内有一个 RadGrid 设置为自动溢出。如果向下滚动并选择一行,则 div 的滚动位置将重置为顶部。尝试使用内置滚动功能,但这不起作用(布局中断并且仅模板单元格的背景滚动而不滚动其他元素)。尝试用 JavaScript 重置活动行上 div 的scrollTop 属性已更改,但这也不起作用。
I have a RadGrid inside a div set to overflow auto. If you scroll down and select a row the div's scroll position gets reset to the top. Tried using built-in scroll functionality but this didn't work (layout breaks and only background of template cells scroll without scrolling other elements). Tried JavaScript to reset scrollTop property of div on active row changed but this also didn't work.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
以下是使用
标签时如何处理滚动位置丢失。
添加以下函数,以便您想要控制滚动位置的所有页面都可以访问它。
此函数将注入一个隐藏变量,对于不同的 DIV 标签,滚动位置将在回发时保存到该变量中。当页面呈现时,相关的滚动位置将被设置回 DIV 标签。我正在使用这种技术来设置滚动位置。
这是在代码隐藏文件中使用此函数的方式:
不必担心
IsPostBack
条件,它是在方法本身内部处理的。上面的示例调用将在回发到页面期间保存
divClientID1
、divClientID2
和divClientID3
的滚动位置。Here is how to handle the scroll position loss when using
<DIV>
tags.Add the following function, so that it is accessible to all your pages where you want to control scroll positions.
This function will inject a hidden variable, to which scroll positions will be saved on post backs, for different DIV tags. When the page renders, relevant scroll positions will be set back to DIV tags. I am using this technique to set scroll positions.
This is how you use this function in your code behind file :
Don't worry about the
IsPostBack
condition, it is handled inside the method itself.The sample call above will save scroll positions for
divClientID1
,divClientID2
anddivClientID3
during postbacks to the page.将名为 SaveScrollPosition 的标志设置为值“true”对 RadGrid 不起作用吗?
Won't setting flag called SaveScrollPosition to value "true" work for RadGrid?
找到了我自己的解决方案。我创建了两个隐藏字段 - 一个用于维护滚动位置 (ScrollPosition),另一个用于维护滚动容器 div 的 ID (ScrollingContainerID)。我的 RadGrid 嵌入在用户控件中,因此我有一个服务器端方法来设置网格所在的 div:
在 RadGrid 上,我设置了两个客户端事件:
然后我定义了以下客户端函数:
Found my own solution to this one. I created two hidden fields - one that maintains the scroll position (ScrollPosition), and another that maintains the ID of the scrolling container div (ScrollingContainerID). My RadGrid is embedded in a User Control, so I have a server-side method to set the div the grid is contained in:
On the RadGrid, I set two client events:
Then I defined the following client-side functions: