【问题标题】:Scroll to GridView selected row滚动到 GridView 选定的行
【发布时间】:2018-09-05 23:08:02
【问题描述】:

我有一个带有固定标题和 10 行的 GridView,用户可以更新新行。 在 GridView 中,我只显示 3 行和垂直滚动条。

在用户选择 GridView 上的任何行(发生回发)后,我想将其滚动到所选行。

我该怎么做?

提前致谢。

【问题讨论】:

  • 你在和winform一起工作吗?
  • @X-TECH - 我想的不是WinForms,而是WebForms,因为问题中提到了“回发”。
  • @Cass 5 - 更新您的问题以包含正确的标签(asp.netwebforms)。

标签: asp.net webforms


【解决方案1】:

如果你使用winform,则需要设置

dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.SelectedRows[0].Index;

【讨论】:

  • 不,我正在使用网络表单并且我已经使用了“dataGridView1.FirstDisplayedScrollingRowIndex = dataGridView1.SelectedRows[0].Index;”但我不能使用 FirstDisplayedScrollingRowIndex ...
  • 我已经用过这个方法了……但是(this.gridView.RowStyle)这个方法有误……谢谢你的回答
【解决方案2】:

这是我想出的解决这个问题的方法。它绝不是完美的,因为我只是 JavaScript 的菜鸟。欢迎任何和所有的编辑。

首先......请注意

“出现在命名容器中的任何服务器控件都有 它们呈现的 id 值以命名容器的 ID 为前缀 控制。”

来自https://docs.microsoft.com/en-us/aspnet/web-forms/overview/older-versions-getting-started/master-pages/control-id-naming-in-content-pages-cs

简而言之...您有一个隐藏字段来保存滚动框顶部的值...并在页面加载时将其设置回该值。 JavaScript 中的所有代码。

1:创建隐藏字段。

    <input type="hidden" id="hdnScrollTop" runat="server" value="0" />

2:用窗口顶部(this.scrollTop)的值更新隐藏字段。这是通过 onscroll 属性完成的。由于overflow: auto;,此 div 将滚动。还要注意名称“MainContent_hdnScrollTop”。 在&lt;aps:Content&gt; 标签上(未显示)我有ContentPlaceHolderID="MainContent" 因此您可能需要相应地更改名称。检查渲染页面上生成的名称。

     <div id="divScroll" style="vertical-align: top; height: 550px; overflow: auto; width: 950px;"
        onscroll="$get('MainContent_hdnScrollTop').value = this.scrollTop;">

3:您可能需要添加 scriptmanager 控件。你唯一允许的。我已经有一个 MasterPage。

 <asp:ScriptManager ID="scriptManager" runat="server" EnablePartialRendering="True" />

4:将divScroll顶部设置为隐藏字段的javascript。

<script type="text/javascript">
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_pageLoaded(pageLoaded);

    function pageLoaded(sender, args)
    {
        try {
            $get("divScroll").scrollTop = $get("MainContent_hdnScrollTop").value;
        }
        catch(err) { return;}
    }
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多