KENDO UI GRID和状态持久性

时间:2016-07-06 16:03:13

标签: javascript kendo-ui

我使用下面的代码将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分钟发生一次。这导致向最终用户显示陈旧数据。

我们希望在没有数据的情况下存储网格的当前结构状态。有没有办法可以实现相同的

1 个答案:

答案 0 :(得分:0)

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