grid.setOptions(JSON.parse(параметры)); делает источник данных пустым

Я пытаюсь сохранить настройки сетки пользователя с помощью локального хранилища, но при загрузке пользовательских настроек источник данных пуст.

$(document).ready(function () {
    var grid = $("#grid").data("kendoGrid");
    var options = localStorage["kendo-grid-options-" + "@Request.RawUrl"];
    if (options) {
        grid.setOptions(JSON.parse(options));
    }

    $("#save").click(function (e) {
        e.preventDefault();
        localStorage["kendo-grid-options-" + "@Request.RawUrl"] = kendo.stringify(grid.getOptions());

    });


});

person Lokman Ceylan    schedule 26.08.2019    source источник
comment
любое решение?   -  person Lokman Ceylan    schedule 28.08.2019


Ответы (1)


Метод Setoptions вызывал пустой источник данных. Из-за этого, прежде чем я вызову этот метод, я получаю источник данных сетки:

var gridData = $("#grid").data("kendoGrid").dataSource;

После этого, когда я вызывал setoptions и после setoptions, когда я вызываю эту строку, это работало как шарм.

grid.setDataSource(gridData);

Вот окончательный код:

    $(document).ready(function () {
    var grid = $("#grid").data("kendoGrid");
    var gridData = $("#grid").data("kendoGrid").dataSource;

    var options = localStorage["kendo-grid-options-" + "@Request.RawUrl"];
        if (options) {
            grid.setOptions(JSON.parse(options));
            grid.setDataSource(gridData); 
        }

    $("#save").click(function (e) {
        e.preventDefault();
        localStorage["kendo-grid-options-" + "@Request.RawUrl"] = kendo.stringify(grid.getOptions());
        location.reload();
    });


});
person Lokman Ceylan    schedule 28.08.2019