【问题标题】:How to prevent scrollbars from resetting on selectedindexchanged for gridview如何防止滚动条在gridview的selectedindexchanged上重置
【发布时间】:2013-07-08 02:57:48
【问题描述】:

我的页面上有一个网格视图,如下所示

<div style="overflow-x:scroll; width:100%; height:255px">
                        <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="Horizontal"
                            BorderStyle="Solid" BorderColor="Black" AllowPaging="false" PageSize="4" OnPageIndexChanging="GridView1_PageIndexChanging" Height="235px"
                            width="90%" OnRowDataBound="GridView1_RowDataBound" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="false" 
                            RowStyle-Height="37px" HeaderStyle-Height="40px" FooterStyle-Height="40px">
                            <Columns>
                                <asp:BoundField HeaderText="ID" DataField="UserID" />
                                <asp:BoundField HeaderText="User Name" DataField="UserName" HeaderStyle-HorizontalAlign="Center"/>
                                <asp:BoundField HeaderText="User Role" DataField="UserRoleName"/>
                            </Columns>
                            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                            <EditRowStyle BackColor="#999999" />
                            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                            <HeaderStyle BackColor="#2e85c2" Font-Bold="True" ForeColor="White" HorizontalAlign="Center" VerticalAlign="Middle" />
                            <PagerStyle BackColor="#2e85c2" ForeColor="White" HorizontalAlign="Center" VerticalAlign="Bottom" />
                            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
                            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                            <SortedAscendingCellStyle BackColor="#E9E7E2" />
                            <SortedAscendingHeaderStyle BackColor="#506C8C" />
                            <SortedDescendingCellStyle BackColor="#FFFDF8" />
                            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
                        </asp:GridView>
                        </div>

这很好用,下面的 selectedindexchanged 方法也是如此

protected void GridView1_SelectedIndexChanged(Object sender, EventArgs e)
        {
            GridViewRow row = GridView1.SelectedRow;
            int sd = int.Parse(row.Cells[0].Text);
            removeUserButton.Enabled = true;
            GridView1.Focus();
        }

但是当我从 gridview 底部选择一个项目时,它会重置滚动条,如果不向下滚动,您将看不到选择的内容。有没有办法防止页面上的额外滚动?

【问题讨论】:

    标签: c# asp.net gridview selectedindexchanged


    【解决方案1】:
    max-height:255px
    
    <div style="overflow-x:scroll; width:100%; max-height:255px;">
    

    【讨论】:

      【解决方案2】:

      尝试在 GridView1_SelectedIndexChanged 事件上设置 GridView 的以下属性。

      dataGridViews1.ScrollBars = ScrollBars.None;
      

      【讨论】:

      • 当我尝试执行此操作时,我收到一条错误消息,提示“System.Web.UI.WebControls.GridView”不包含定义“ScrollBars”,我无法解决此问题
      • 尝试用
        包裹 GridView。
      • 这个答案适用于 winforms datagridview,而不是 asp.net gridview
      【解决方案3】:

      以防万一有人在以后查看此问题,我从未设法解决此问题,但发现 Telerik 有我公司使用的 radgrid,所以我只是使用它并解决了问题。不是理想的解决方案,但它完成了工作。

      【讨论】:

        【解决方案4】:

        我也必须处理这个问题。我看到的解决方案是设置gridview的分页。这样,您将在每页显示一组行数,以防止使用 scollbars。希望这能给你一个想法

        谢谢。

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        • 2012-08-22
        • 2010-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多