2014-02-13 32 views
0

我有一個KoGrid並希望能夠保存可見列時,用戶重訪頁面。我將json中的數據保存到cookie或數據庫中,但是如何在列的可見屬性發生更改時通知我,並在初始化時加載可見性?KoGrid保存可見列

+0

你試過了什麼? 「獲得通知」是淘汰賽中觀察對象的基本概念。 – xdumaine

回答

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的代碼,它的快速,髒

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