我有一个KoGrid,并希望能够保存可见的列,当用户重新访问该页面。我会将json中的数据保存到cookie或数据库中,但是如何才能在列的visible属性发生更改时得到通知,并在初始化时加载可见性?
发布于 2014-02-14 04:18:37
通过对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/
https://stackoverflow.com/questions/21762810
复制相似问题