Как запретить сброс полос прокрутки на выбранных, измененных для вида сетки

У меня есть сетка на моей странице, которая показана ниже

<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>

Это работает нормально, и то же самое делает выбранный индексированный метод ниже

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();
        }

но когда я выбираю элемент в нижней части сетки, он сбрасывает полосу прокрутки, и вы не можете видеть то, что выбрано, без прокрутки вниз. Есть ли способ предотвратить лишнюю прокрутку на странице?

4 ответа

Попробуйте установить ниже свойство GridView на событие GridView1_SelectedIndexChanged.

dataGridViews1.ScrollBars = ScrollBars.None;
max-height:255px

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

Я тоже должен разобраться с этой проблемой. Решение, которое я вижу на этом, состоит в том, чтобы установить нумерацию сетки. При этом вы будете отображать заданное количество строк на странице, предотвращающее использование полос прокрутки. Надеюсь, что это дает вам представление

Благодарю.

Просто на тот случай, если кто-нибудь рассмотрит это позже, мне так и не удалось устранить проблему, но я обнаружил, что у Telerik есть радгридор, который использовал моя компания, поэтому я просто использовал его, и он решил проблему. не идеальное решение, но оно сделало свою работу.

Другие вопросы по тегам