0

我有一个 KoGrid,希望能够在用户重新访问页面时保存可见列。我会将 json 中的数据保存到 cookie 或数据库中,但是如何在更改列的可见属性时收到通知,并在初始化时加载可见性?

4

1 回答 1

0

通过对 kg.grid 构造函数的一些创造性覆盖很容易实现

http://jsfiddle.net/A29GA/2/

var savedState = { age: false, name: true };

var org = kg.Grid;
kg.Grid = function (options) {
    var grid = new org(options);

    ko.utils.arrayForEach(grid.columns(), function(col)  {
        //load state from cookie                          
        col.visible(savedState[col.field]);

    });

    grid.visibleColumns.subscribe(function() {
        console.log("Here you get notified when visible columns change save to cookie");
    });

    return grid;
};

这是一个使用实际 cookie 的示例,但我不会依赖 cookie 代码,它又快又脏

http://jsfiddle.net/A29GA/3/

于 2014-02-13T20:18:36.850 回答