引入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的更多相关文章

  1. jqgrid 中设置列不排序

    背景 今天在做系统的功能时,当时有这么个需求:在添加了一行数据时,原本的排序的自动就不能再排序,也就是排序失效. 1. 使用onSortCol事件禁止排序列 当时使用了初始化时,使用onSortCol ...

  2. 对象是存入cookie中需要注意

    直接把对象存入cookie中的话,会转为字符串的 cookie中保存的都是字符串 所以取出来后还需要进行转换,转换成对象 JSON.parse()进行转换

  3. 选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

    选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中 T-SQL核心语句形式: SELECT     --指定要选择的列或行及其限定  [INTO ]      --INTO子句 ...

  4. jqGrid中实现radiobutton的两种做法

    http://blog.sina.com.cn/s/blog_4f925fc30102e27j.html   jqGrid中实现radiobutton的两种做法 ------------------- ...

  5. jqgrid 加按钮列

    1.在jqgrid表格中增加列,内容是图标,定义图标单击事件,可以操作这一行的数据,如下图 2.前台代码 <div id="grid_List"> <table ...

  6. php 将数组存入cookie

    最近在做一个购物车的功能,需要将商品的ID和商品数量存入cookie,实际上,cookie是不能存数组的,因此需要用到序列化函数serialize() 函数解释: serialize()就是将PHP中 ...

  7. jqGrid细节备注—jqGrid中自定义格式,URL格式

    本文来自:http://cnn237111.blog.51cto.com/2359144/782137 jqGrid中自定义格式,URL格式 当官方自带的showlink用起来不是十分顺手,因此可以考 ...

  8. 在SQL2008查找某数据库中的列是否存在某个值

    在SQL2008查找某数据库中的列是否存在某个值 --SQL2008查找某数据库中的列是否存在某个值 create proc spFind_Column_In_DB ( @type int,--类型: ...

  9. 转载: 黄聪:C#中 Excel列字母与数字的转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

随机推荐

  1. Java基础:ThreadLocal及其原理

    ThreadLocal的用处 ThreadLocal是一个多线程的辅助工具类,目的是方便开发者维护多线程中的共享变量.我们知道如果我们想要在一个线程中一直访问一个变量或者在线程上下文中保存一个变量,我 ...

  2. 20192204李龙威 2019-2020-2 《Python程序设计》实验三报告

    20192204李龙威 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实 ...

  3. 2022:checking for Python executable "python2" in the PATH

    目录 一.node报错 说明 1.网上常用方法一(本博主环境无效) 2.网上常用方法二(本博主环境无效) 3.本博主使用方法(当前有效) 1.确保NodeJS环境安装没有问题,如果不会安装,请参考 构 ...

  4. test 分支强制替换master 分支的办法

    test分支改动太多,并且master 分支好久没有改动.直接合并到master 分支的话,会产生很多冲突,几十个文件,修复冲突会花很多时间,并且是没有意义的.因此只能使用test 分支强制替换. 代 ...

  5. CSI 工作原理与JuiceFS CSI Driver 的架构设计详解

    容器存储接口(Container Storage Interface)简称 CSI,CSI 建立了行业标准接口的规范,借助 CSI 容器编排系统(CO)可以将任意存储系统暴露给自己的容器工作负载.Ju ...

  6. 渗透测试系统kali配置源

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 kali是一款非常棒的渗透测试系统,但是他使用的源是国外的,这对于我们来说非常不友好,下载东西非常慢或者下载不了,更换国内源目的就是为了方便我们使用 ...

  7. Vmware安装Ubuntu16.4的过程及出现问题的解决

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 1.下载Ubuntu镜像文件 Ubuntu16.4镜像文件下载地址:https://mirrors.aliyun.com/ubuntu-relea ...

  8. bzoj3926/luoguP3346 [Zjoi2015]诸神眷顾的幻想乡(trie上构建广义后缀自动机)

    bzoj3926/luoguP3346 [Zjoi2015]诸神眷顾的幻想乡(trie上构建广义后缀自动机) bzoj Luogu 题解时间 给你个无根trie树(你管这叫trie树?),问你选取一条 ...

  9. 采用WPF开发第二版OFD阅读器,持续完善中,敬请期待!

    本人研究OFD多年,采用C#和QT开发了一系列ofd相关软件.在这些产品中,阅读器始终占据着非常重要的位置.可以说,阅读器是直接面向最终客户的产品.是集OFD各类知识之大成的产品.市面上的阅读器产品林 ...

  10. Rust-Sqlx极简教程

    简介 sqlx 是 rust 中的一个数据库访问工具.具有以下特点: 异步:原生就支持异步,在并发性高的场合能够得到更好的支持 编译时检查查询:sqlx可以在 cargo build 的时候检查执行s ...