extjs保存用户习惯(隐藏列)

思路:(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);





你可能感兴趣的:(js,ext)