保存虚拟滚动位置

时间:2019-04-10 15:45:11

标签: c# jquery asp.net kendo-ui kendo-grid

我的剑道网格包含大量数据和100多个页面。我需要先保存滚动位置,然后再滚动滚动页面。

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

@(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"))
          ))

我已经阅读了很多Kendo文档/,但是什么也没发现。您有什么想法,如何解决这个问题?任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

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