javascript - ASP.NET 回发后保持 DIV 内 gridview 的水平滚动条位置

标签 javascript asp.net updatepanel

我有一个很长的 GridView 。我想在回发时保持滚动位置。我已经尝试了许多关于堆栈溢出的解决方案,但知道对我有用。

这是我的 GridView

<div class="largeGridScroll">
           <asp:GridView ID="gvInventario" runat="server" AutoGenerateColumns="false"  AllowSorting="true" ShowFooter="false" DataKeyNames="componente_id, ubicacion_id, proveedor_id"  PageSize="10"
                ShowHeaderWhenEmpty="true" AllowPaging="True" OnRowEditing="gvInventario_RowEditing" OnRowCancelingEdit="gvInventario_RowCancelingEdit" OnPageIndexChanging="gridView_PageIndexChanging" 
                 CellPadding="3"  AllowColumResize="True" onsorting="grdDetails_Sorting" GridLines="None" CssClass="mGrid" PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass="alt">    
                <Columns>
                </Columns>
            </asp:GridView>
            </div>

这是我想要防止滚动条静止的按钮的代码

        <asp:Button class="btn btn-primary" ID="btnConfirmPurchases" runat="server" Text="Validar" AutoPostback="true" width="20%"  OnClick="Add_location_Click" /> 
            <asp:Button class="btn btn-primary"  ID="Button1" runat="server" Text="Validar" OnClick="Confirm_purchase_order_Click"  />
  <asp:Button class="btn btn-primary" ID="btnShowPurchaseOrder" runat="server" Text="Comprar" AutoPostback="false" OnClientClick="return ShowModalPopup(); return false;" OnClick="view_purchases_click" />     

                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:ImageButton ImageUrl="~/Images/edit.png" runat="server" CommandName="Edit" ToolTip="Edit" Width="20px" Height="20px"/>
                           <%-- <asp:ImageButton ImageUrl="~/Images/shopping.png" runat="server" class="button" ToolTip="Shopping" Width="20px" Height="20px" />--%>
                            <a class="button" href="#popup1" ><img src="../images/shopping.png" width="20" height="20"/></a>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:ImageButton ImageUrl="~/Images/save.png" runat="server" ToolTip="Update" Width="20px" Height="20px" OnClick="updateOcurencia"/>
                            <asp:ImageButton ImageUrl="~/Images/cancel.png" runat="server" CommandName="Cancel" ToolTip="Cancel" Width="20px" Height="20px"/>
                        </EditItemTemplate>
                    </asp:TemplateField>

这是CSS。

.largeGridScroll 
{
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
}

这是我的 GridView 的视觉效果。 image of grid

当我按下其中一个按钮时,我不想像图片上那样丢失滚动位置。我尝试过使用 javascript 和 updatepanel 但没有成功,因为所有教程都有垂直滚动而不是像我的那样水平滚动。任何帮助将不胜感激,谢谢。

最佳答案

我在这里找到了答案https://www.webcodeexpert.com/2015/09/how-to-maintain-scroll-position-of-html.html我只需要改变一些小东西就可以使其水平 这是我的CSS

.largeGridScroll 
{
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
}

这是我的 JavaScript

 $(document).ready(function () {
    maintainScrollPosition();
});

function pageLoad() {
    maintainScrollPosition();
}

function setScrollPosition(scrollValue) {
    $('#<%=hfScrollPosition.ClientID%>').val(scrollValue);
}

function maintainScrollPosition() {
    $("#dvScroll").scrollLeft($('#<%=hfScrollPosition.ClientID%>').val());
}

这是我的 aspx

 <asp:HiddenField ID="hfScrollPosition" Value="0" runat="server" />
    <div  id="dvScroll" class="largeGridScroll" onscroll="setScrollPosition(this.scrollLeft);">

关于javascript - ASP.NET 回发后保持 DIV 内 gridview 的水平滚动条位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57378859/

相关文章:

javascript - 来自两个实体集的 xml View 绑定(bind)数据

javascript - 如何更改照片中文字的颜色?

c# - 范围验证器验证所选日期是否在过去 3 天内

c# - 使用 asp 文件 uploader 上传超过 4mb 的图像?

asp.net - 当更新面板位于主页中时保持滚动位置

c# - 文本更改事件后如何保持对文本框的关注

javascript - 每次刷新时从内部更新面板执行 javascript

JavaScript 顶部和左侧位置未按预期工作

.net - 你如何为asp.net 应用程序存储图像?

javascript - React- 仅在加载外部 js 文件后运行文件(未定义 gapi)