思路:(1)监听变化的数据,(显示或者隐藏)
(2)将变化的数据,放进cookie中
(3)从cookie中取出,执行隐藏或者显示方法。
其中第二步时,因为我保存的是列的getIndex()
1.想保存数组[0,1,2,3,4]这种形式,结果...取不出来(也可能是我不会)
2.cookie中只存cookie名字,当时想取数据时不好取(因为他不是从0,1,2,3...,他可能是0,7,17...,现在想不可能只存cookie的名字,因为cp.set(name,value)这种形式,必须存名字和值)
3.cookie中存放单个字符串,即存名字和值,cp.set(name,“123”)(最后我用的)
4.cookie中保存json字符串{"name":"linda","sex":"女","age":20},这样,但是我的key不确定,需要动态设定,不好做,还有我不会动态向json中添加数据
5.cookie中保存json数组,我的想法是userName=[{"name":"张三"},{"name":"李四"},,{"name":"王五"}],然后把他放在{"user":userName}里面,和上边一样的问题,我不会动态向json中添加数据
坑1:一开始是想获得所有隐藏的列,放进cookie,取出,执行显示或者隐藏的方法,结果
取到的数据一直是数据中写死的隐藏的数据,动态的获取不到。
坑2:向cookie中存放数组,结果就是取不出来
坑3:向cookie中保存数据,其中的cookie的name想让他们从0,1,2,3这样,结果还是我不会,然后我就设置动态name
坑4:上图中的
cp.set("9"+indexShow,indexShow)
之前我是这么写的
cp.set(9+indexShow,indexShow)
我的想法是加上字符串“9”
之前没加引号“”,得到的数就是9+15=24,我的本意是915,然后数据就一直不对
hide:function(obj){
var cp = new Ext.state.CookieProvider({
expires: new Date(new Date().getTime()+(1000*60*60*24*365))
});
Ext.state.Manager.setProvider(cp);
var indexHidden = obj.getIndex();
cp.clear("9"+indexHidden);
cp.set(indexHidden,indexHidden);
},
show:function(obj){
var cp = new Ext.state.CookieProvider({
expires: new Date(new Date().getTime()+(1000*60*60*24*365))
});
Ext.state.Manager.setProvider(cp);
var indexShow = obj.getIndex();
alert(indexShow);
cp.clear(indexShow);
cp.set("9"+indexShow,indexShow);
}
{header: '收据号码', align : 'center',listeners:{hide:"hide",show:"show"}},
{header: '备注', align : 'center',listeners:{hide:"hide",show:"show"}},
{header: '确认说明', hidden:true, listeners:{hide:"hide",show:"show"}}
var cp0 = new Ext.state.CookieProvider({
expires: new Date(new Date().getTime()+(1000*60*60*24*365))
});
Ext.state.Manager.setProvider(cp0);
for(var i=0;i<18;i++){
var getHideCookie = cp0.get(i);
if(getHideCookie != undefined){
var numHide = Ext.Number.from(getHideCookie,100);
me.columns[numHide+3].hide();
}
}
for(var j=0;j<18;j++){
var getShowCookie = cp0.get("9"+j);
if(getShowCookie != undefined){
var numShow = Ext.Number.from(getShowCookie,300);
me.columns[numShow+3].show();
}
}
json
var json = {};
json["name"]="张三";
json["sex"]="男";
json["age"]=20;
alert(json.age);