【问题标题】:KENDO UI GRID and state persistenceKENDO UI GRID 和状态持久化
【发布时间】:2016-11-08 18:34:03
【问题描述】:

我正在使用下面的代码将 kendo ui 网格存储到 localstorage,然后将其取回,一切正常。

function saveState(e){

             var grid = angular.element('#booking-grid').data("kendoGrid");
             console.log(kendo.stringify(grid.getOptions()));
             localStorage["kendo-grid-options"] = kendo.stringify(grid.getOptions());
    }

function restoreState(e){
          var options = localStorage["kendo-grid-options"];
          if (options) {
            var grid = angular.element('#booking-grid').data("kendoGrid");
                grid.setOptions(JSON.parse(options));
          }
}

现在我们想将此状态存储在一些持久性存储中,例如 DB,当用户再次登录时,我们希望向他显示他之前从 DB 中存储的状态。 我意识到生成的 json 字符串还包含网格数据,并且这些数据会发生变化,因为数据刷新每 30 分钟发生一次。这会导致向最终用户显示陈旧的数据。

我们想在没有数据的情况下存储网格的当前结构状态。有没有办法实现同样的目标

【问题讨论】:

    标签: javascript kendo-ui


    【解决方案1】:

    在 getOptions() 之后,但在保存之前,清除数据源:

    function saveState(e){
        var grid = angular.element('#booking-grid').data("kendoGrid");
    
        var gridOptions = grid.getOptions();
        delete gridOptions.dataSource.data;
    
        console.log(kendo.stringify(gridOptions));
        localStorage["kendo-grid-options"] = kendo.stringify(gridOptions);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 2011-01-09
      • 1970-01-01
      • 2021-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多