Сохранить виртуальную позицию прокрутки - PullRequest
1 голос
/ 10 апреля 2019

У меня есть сетка кендо с большим количеством данных и более 100 страниц. Мне нужно сохранить положение прокрутки перед тем, как покинуть страницу с прокруткой.

Что я должен сделать, чтобы сохранить состояние сетки в соответствии с бизнес-требованиями, поэтому: я сохраняю номер страницы и идентификатор элемента (чтобы выбрать его в сетке). Но это все бесполезно, когда положение прокрутки не может быть восстановлено.

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

Я прочитал много документации по кендо, но ничего не нашел. У вас есть идеи, как решить эту проблему? Любая помощь ценится

1 Ответ

0 голосов
/ 11 апреля 2019

Будет проще, если вы сохраните текущую строку сетки вместо позиции прокрутки. Затем вы можете использовать метод выбора кендо. Вот как: https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/methods/select. Тем не менее, если вам нужна прокрутка, вы можете использовать класс select row и использовать jQuery для перемещения прокрутки. scrollTo = $('.saveIcon');

...