c# - 保存虚拟滚动位置
问题描述
我有包含大量数据和 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"))
))
我已经阅读了很多剑道文档/但我什么也没找到。你有什么想法,如何解决这个问题?任何帮助表示赞赏
解决方案
如果存储当前网格行而不是滚动位置会更容易。然后你可以使用剑道选择方法。方法如下:https ://docs.telerik.com/kendo-ui/api/javascript/ui/grid/methods/select 。不过,如果您需要滚动,您可以使用选择行类并使用 jQuery 来移动滚动。scrollTo = $('.saveIcon');
推荐阅读
- python - 如何使用熊猫偏移数据
- go - 如何在 grpc-gateway 中设置超时?
- javascript - Webpack 在构建后传递环境变量
- json - 使用来自先前调用的 Postman 响应变量进行 POST 调用
- javascript - 在 ng build 之后隐藏 Angular 服务不被捆绑在主 js 文件中
- javascript - 如何从另一个 React 应用打开一个 React 应用
- druid - Druid 内存消耗过多
- python - 按前 n 行对二维数组进行排序
- jenkins - 测试失败时 Squish Jenkins 插件返回 0
- django - 本身使用序列化程序 Django