保存 Kendo Pagable 用户输入以保持网格状态

问题描述

我在使用剑道 .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);

这将保存页面大小、当前页面和其他内容。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...