问题描述
我在使用剑道 .Pagable
时遇到问题。我们有一个在网格中显示条目的网络应用程序。用户可以在每个站点 25、50、100、200 个条目之间进行选择。但每当用户进入条目编辑页面并返回概览页面时,它都会重置为每页 25 个条目。
我不知道如何在重新加载时为网格保持状态(假设每页 100 个条目)。你能帮我吗?
这里是代码片段
GRID.DataSource(dataSource => dataSource
.Ajax()
.PageSize(25)
.Model(m => { m.Id(a => a.Id); })
.Read(read => read
.Action("Read","Overview")
.Data("additionalGridData"))
.sort(x => x.Add(y => y.Id))
)
.AutoBind(false)
.Filterable()
.sortable(c=>c.sortMode(GridSortMode.MultipleColumn).AllowUnsort(true).ShowIndexes(true).Enabled(true))
.Pageable(p => p.PageSizes(new[] {25,50,100,200}))
提前致谢!
解决方法
在编辑或 localStorage
时将网格选项保存在 window.onbeforeunload
中,然后加载选项并将其设置在网格上。这是一个使用 jQuery 的示例,但对于其他语言也是如此。
//save
let options = $('#grid').getKendoGrid().getOptions();
localStorage['grid-options'] = kendo.stringify(options);
//load
let options = localStorage['grid-options'];
let optionsObject = JSON.parse(options);
$('#grid').getKendoGrid().setOptions(optionsObject);
这将保存页面大小、当前页面和其他内容。