【问题标题】:Save Kendo Pagable User Input To Persist Grid State将 Kendo 可分页用户输入保存到持久网格状态
【发布时间】:2021-03-18 08:42:12
【问题描述】:

我在使用剑道.Pagable 时遇到问题。我们有一个在grid 中显示条目的网络应用程序。用户可以在每个站点 25、50、100、200 个条目之间进行选择。但每当用户进入条目编辑页面并返回概览页面时,它都会重置为每页 25 个条目

我不知道如何在重新加载时为网格保持状态(假设每页 100 个条目)。你能帮帮我吗?

这里是代码sn-p

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}))

提前致谢!

【问题讨论】:

    标签: c# asp.net-mvc razor kendo-ui pageable


    【解决方案1】:

    在编辑时将网格选项保存在localStoragewindow.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);
    

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

    【讨论】:

    • 似乎 dataSource.PageSize 在加载网格时会覆盖选项。但如果不设置默认大小为 10...这不是可分页选项
    猜你喜欢
    • 2015-07-25
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 2016-11-08
    • 1970-01-01
    相关资源
    最近更新 更多