如何防止滚动条在gridview上的selectedindexchanged上重置

时间:2013-07-10 08:50:54

标签: c# asp.net gridview selectedindexchanged

我的页面上有一个gridview,如下所示

<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底部选择一个项目时,它会重置滚动条,如果不向下滚动,就无法看到所选内容。有没有办法阻止页面上的额外滚动?

4 个答案:

答案 0 :(得分:0)

max-height:255px

<div style="overflow-x:scroll; width:100%; max-height:255px;">

答案 1 :(得分:0)

尝试在GridView1_SelectedIndexChanged事件中设置GridView的下方属性。

dataGridViews1.ScrollBars = ScrollBars.None;

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我也要处理这个问题。我在这看到的解决方案是设置gridview的分页。这样,您将每页显示一定数量的行,从而阻止使用scollbar。希望这会给你一个想法

感谢。