首页 > 解决方案 > 保存虚拟滚动位置

问题描述

我有包含大量数据和 100 多页的剑道网格。我需要在滚动页面离开之前保存滚动位置。

我应该根据业务需求保存网格状态,所以:我保存页码和元素ID(在网格中选择它)。但是当滚动位置无法恢复时,这一切都是无用的。

@(Html.Kendo().Grid<RegistryInspectionTaskDto>()
          .Name("grid")
          .Columns(columns =>
          {
              columns.Bound(o => o.LocalPlannedStartDate).ClientTemplate("#=DateTimeHelper.GetSimpleClientString(LocalPlannedStartDate)#").Format("{0:g}").Title(InspectionTaskResources.DateLabelText).Width(180);
              columns.Bound(o => o.VehicleNumber).Title(InspectionTaskResources.VinLabelText).Width(187);
              columns.Bound(o => o.TypeName).Title(InspectionTaskResources.TypeLabelText).Width(100);
              columns.Bound(o => o.Id).Hidden(true);
              columns.Bound(o => o.StatusName).ClientTemplate("#=list.GetStatusColumnTemplate(StatusId, StatusName)#").Title(InspectionTaskResources.StatusLabelText);
          })
          .Sortable()
          .Selectable(x=>x.Mode(GridSelectionMode.Single))
          .Scrollable(scrollable => scrollable.Virtual(true))             
          .DataSource(dataSource => dataSource
              .Ajax()
              .PageSize(100)
              .Sort(x=>x.Add("LocalPlannedStartDate").Descending())
              .Read(read => read.Action("GetInspectionTasks", "InspectionTasks").Data("GetFilterParameters"))
          ))

我已经阅读了很多剑道文档/但我什么也没找到。你有什么想法,如何解决这个问题?任何帮助表示赞赏

标签: c#jqueryasp.netkendo-uikendo-grid

解决方案


如果存储当前网格行而不是滚动位置会更容易。然后你可以使用剑道选择方法。方法如下:https ://docs.telerik.com/kendo-ui/api/javascript/ui/grid/methods/select 。不过,如果您需要滚动,您可以使用选择行类并使用 jQuery 来移动滚动。scrollTo = $('.saveIcon');


推荐阅读