Kendo网格保存和加载网格选项,列过滤传输无法正常工作

时间:2016-02-03 08:01:54

标签: jquery kendo-ui kendo-grid

当我保存并尝试从没有列filtrable dataSource:transport.read的localStorage加载网格选项时,可以正常使用。但是如果保存然后尝试加载filtrable dataSource:transport我有一个脚本错误! https://drive.google.com/file/d/0B9jvp-B5UG_xNE03YUw2eWhEUE0/view?usp=sharing

我的意思的小例子:

1

{ field: "status_name",
    title: "Status",
    headerTemplate: createHeaderTemplate("Status"),
    width:"90px",
    filterable: {

        multi: true,
        search: true,
        ignoreCase: true,
        checkAll: false,
        dataSource: [

            { status_name: "wait"},
            { status_name: "decline"},
            { status_name: "approve"}

       ]
   }
}

2

{ field: "status_name",
    title: "Status",
    headerTemplate: createHeaderTemplate("Status"),
    width:"90px",
    filterable: {

        multi: true,
        search: true,
        ignoreCase: true,
        checkAll: false,
        dataSource: new kendo.data.DataSource({
            transport: {
                read: {
                    url: "some_url",
                    dataType: "json"
                }
            }
       })
   }
}

在这两种情况下dataSource()中的数据都相同!但在第二种情况下,有这个问题。 我的保存和加载状态代码:

$("#save-columns-state-button").click(function(e){
    e.preventDefault();
    localStorage["kendo-grid-options"] = kendo.stringify(grid.getOptions());
});

$("#load-columns-state-button").click(function(e){
    e.preventDefault();
    var options = localStorage["kendo-grid-options"];
        if (options) {
            grid.setOptions(JSON.parse(options));
        }
    });

从localStorage读取/写入成功! 这个地方有问题grid.setOptions(JSON.parse(options))。 如何解决这个问题?如何保存状态然后加载而不会出错?

1 个答案:

答案 0 :(得分:0)

如果第一种情况下的一切都很好,可以尝试保存没有字段“传输”的选项!