使用JQGrid中可见列并存入Cookie
引入js与css
<link href="~/Content/js/jquery-ui/jquery-ui.min.css" rel="stylesheet" />
<link href="~/Content/js/jqGrid-master/jqGrid-master/css/addons/ui.multiselect.css" rel="stylesheet" />
<link href="~/Content/js/jqGrid-master/jqGrid-master/css/ui.jqgrid.css" rel="stylesheet" /> <link href="~/Content/js/jqgrid/jqgrid.css" rel="stylesheet" /> <script src="~/Content/js/jqGrid-master/jqGrid-master/jquery.js"></script>
<script src="~/Content/js/jquery-ui/jquery-ui.min.js"></script>
<script src="~/Content/js/jqGrid-master/jqGrid-master/js/addons/ui.multiselect.js"></script>
<script src="~/Content/js/jqGrid-master/jqGrid-master/js/jquery.jqGrid.js"></script>
<script src="~/Content/js/jqGrid-master/jqGrid-master/js/i18n/grid.locale-cn.js"></script>
打开ui.multiselect.js 写入存储cookie
在最前声明全局变量
var cok = ""; var bol = "";
var getSec = function (str) {
var str1 = str.substr(0, str.length - 1); //时间数值
var str2 = str.substr(str.length - 1, 1); //时间单位
if (str2 == "s") {
return str1 * 1000;
}
else if (str2 == "m") {
return str1 * 60 * 1000;
}
else if (str2 == "h") {
return str1 * 60 * 60 * 1000;
}
else if (str2 == "d") {
return str1 * 24 * 60 * 60 * 1000;
}
}
/**
* cookie中存值
* */
//添加cookie
var addCookie = function (name, value) {
var strSec = getSec('1h');
var exp = new Date();
exp.setTime(exp.getTime() + strSec * 1);
//设置cookie的名称、值、失效时间
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString();
}
function setCookie(name, value) {
if (value) {
var strSec = getSec('200000d');
var exp = new Date();
exp.setTime(exp.getTime() + strSec * 1);
//设置cookie的名称、值、失效时间
document.cookie = name + "=" + value + ";expires=" + exp.toGMTString();
//var days = '1h'; //定义一天
//var exp = new Date();
//exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);
//// 写入Cookie, toGMTString将时间转换成字符串
//document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString;
}
};
/**
* cookie中取值
* */
function getCookie(name) {
var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); //匹配字段
if (arr = document.cookie.match(reg)) {
return unescape(arr[2]);
} else {
return null;
}
};
/**
* 清除指定cookie值
* */
function delCookie(name) {
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval = setCookie(name);
if (cval && cval != null) {
document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString()
}
};

在此处给li增加一个id,保存使用的标识
在 _setSelected: function (item, selected) {方法中添加
if ($(".selected li").length <= 16) {//限制显示最小列数
return false;
}
cok += item[0].id + ",";//cookie name
bol += selected + ",";//cookie value
在 _create: function () 方法中添加一个按钮点击事件用来存入cookie
$('.confirm').on('click', function () {
var ali = $('ul.selected>li')
bol = bol.substring(0, bol.length - 1);
cok = cok.substring(0, cok.length - 1);
var stringbol = bol.split(',');
var stringcok = cok.split(',');
for (var i = 0; i < stringbol.length; i++) {
if (stringbol[i] == "true") {
setCookie(stringcok[i], "1");
} else {
setCookie(stringcok[i], "2");
}
}
setCookie(a, "0");
$(".ui-jqgrid-bdiv").width($("#body").width());//
$(".ui-corner-top").width($("#body").width());//调整宽度
$("#gview_jqGrid").width($("#body").width());//
});

给这个按钮添加一个.confirm 类用来对应方法
然后就可以使用了。
注意JQ版本我使用的是5.5版本
使用JQGrid中可见列并存入Cookie的更多相关文章
- jqgrid 中设置列不排序
背景 今天在做系统的功能时,当时有这么个需求:在添加了一行数据时,原本的排序的自动就不能再排序,也就是排序失效. 1. 使用onSortCol事件禁止排序列 当时使用了初始化时,使用onSortCol ...
- 对象是存入cookie中需要注意
直接把对象存入cookie中的话,会转为字符串的 cookie中保存的都是字符串 所以取出来后还需要进行转换,转换成对象 JSON.parse()进行转换
- 选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中
选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中 T-SQL核心语句形式: SELECT --指定要选择的列或行及其限定 [INTO ] --INTO子句 ...
- jqGrid中实现radiobutton的两种做法
http://blog.sina.com.cn/s/blog_4f925fc30102e27j.html jqGrid中实现radiobutton的两种做法 ------------------- ...
- jqgrid 加按钮列
1.在jqgrid表格中增加列,内容是图标,定义图标单击事件,可以操作这一行的数据,如下图 2.前台代码 <div id="grid_List"> <table ...
- php 将数组存入cookie
最近在做一个购物车的功能,需要将商品的ID和商品数量存入cookie,实际上,cookie是不能存数组的,因此需要用到序列化函数serialize() 函数解释: serialize()就是将PHP中 ...
- jqGrid细节备注—jqGrid中自定义格式,URL格式
本文来自:http://cnn237111.blog.51cto.com/2359144/782137 jqGrid中自定义格式,URL格式 当官方自带的showlink用起来不是十分顺手,因此可以考 ...
- 在SQL2008查找某数据库中的列是否存在某个值
在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...
- 转载: 黄聪:C#中 Excel列字母与数字的转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
随机推荐
- rsyn实现服务器源码同步
近期技术总监提出,要建立预生产环境,代码实现灰度发布.需要多台服务器源码保持一致. 实施步骤 1.安装rsyn服务端并添加环境变量. 2.安装客户端并配置环境变量. 3.更改配置文件并开放防火墙端口. ...
- git pull origin master 报错问题解决 fatal: couldn‘t find remote ref master
报错:fatal: couldn't find remote ref master 解决:使用以下命令 git pull origin main 替代报错命令: git pull origin mas ...
- Net中事件的用法之二
1.委托与事件的区别 事件对权限做了控制 1.委托可以直接调用 事件不可以直接调用 2.委托允许外面直接赋值 事件不允许外面直接赋值 2.事件与委托的实例比较 using System; using ...
- 昇腾CANN论文上榜CVPR,全景图像生成算法交互性再增强!
摘要:近日,CVPR 2022放榜,基于CANN的AI论文<Interactive Image Synthesis with Panoptic Layout Generation>强势上榜 ...
- 如何使用coredump
一.coredump 当用户态进程出现异常后,在该进程的执行目录下生成对应的coredump文件,如果我们想将coredump生成的位置做改变,就需要如下设置. echo "/home/co ...
- snort规则
一.Snort规则分为两个部分 二.规则头的基本格式 动作: 动作描述一个数据包的"谁,在何处,什么"的问题,并指明规则被激发后,在事件中应当做什么.在编写规则时,你可以从下面的关 ...
- Kafka 的高可靠性是怎么实现的?
可以参见我这篇文章:Kafka 是如何保证数据可靠性和一致性
- 去掉一个Vector集合中重复的元素?
Vector newVector = new Vector();For (int i=0;i<vector.size();i++){Object obj = vector.get(i); ...
- innodb和myisam
在Mysql数据库中,常用的引擎主要就是2个:Innodb和MyIASM.这篇文章将主要介绍这两个引擎,以及该如何去选择引擎,最后在提一下这2种引擎所使用的数据结构是什么. 首先介绍一下Innodb引 ...
- eclipse更换工作空间后,需要修改哪些常用配置
一.对于配置不太了解,第一次配置. 常用 (ps:配置我们在导航栏的 Windows --> preference 里进行配置) 1.首先,我们配置编译环境:Java --> Instal ...