为datagrid、treegrid增加右键表头菜单,用于显示或隐藏列,注意:冻结列不在此菜单中
 var createGridHeaderContextMenu = function(e, field) {
     e.preventDefault();
     var grid = $(this);/* grid本身 */
     var headerContextMenu = this.headerContextMenu;/* grid上的列头菜单对象 */
     if (!headerContextMenu) {
         var tmenu = $('<div style="width:100px;"></div>').appendTo('body');
         var fields = grid.datagrid('getColumnFields');
         console.log('id='+grid.attr('id'));
          storage=$.localStorage;if(!storage)storage=$.cookieStorage;
         var cols = storage.get(grid.attr('id')+'hiddenColumns');
         var init=true;
         if(cols){
             init=false;
         }
         for ( var i = 0; i < fields.length; i++) {
             var fildOption = grid.datagrid('getColumnOption', fields[i]);
             console.log(fields[i]+'='+fildOption.hidden);
             if (!fildOption.hidden||fildOption.hidden==false) {
                 $('<div iconCls="icon-ok" field="' + fields[i] + '"/>').html(fildOption.title).appendTo(tmenu);
             } else {
                 if(init==false){
                     for(var j=0;j<cols.length;j++){
                         if(cols[j].field==fields[i]&&cols[j].visible!=false){
                             //console.log(cols[j].field+'=='+cols[j].visible);
                             $('<div iconCls="icon-empty" field="' + fields[i] + '"/>').html(fildOption.title).appendTo(tmenu);
                         }
                     }
                 }
             }
         }
         headerContextMenu = this.headerContextMenu = tmenu.menu({
             onClick : function(item) {
                 var field = $(item.target).attr('field');
                 if (item.iconCls == 'icon-ok') {
                     grid.datagrid('hideColumn', field);
                     $(this).menu('setIcon', {
                         target : item.target,
                         iconCls : 'icon-empty'
                     });
                 } else if (item.iconCls == 'icon-empty') {
                     grid.datagrid('showColumn', field);
                     $(this).menu('setIcon', {
                         target : item.target,
                         iconCls : 'icon-ok'
                     });
                 }else{
                     //恢复表头
                 }
             }
         });
     }
     headerContextMenu.menu('show', {
         left : e.pageX,
         top : e.pageY
     });
 };
 //$.fn.datagrid.defaults.onHeaderContextMenu = createGridHeaderContextMenu;     //屏蔽掉dagagrid表头右键隐藏列的功能
 $.fn.treegrid.defaults.onHeaderContextMenu = createGridHeaderContextMenu;
为datagrid、treegrid增加右键表头菜单,用于显示或隐藏列,注意:冻结列不在此菜单中的更多相关文章
- [Easyui - Grid]为easyui的datagrid、treegrid增加表头菜单,用于显示或隐藏列
		
为easyui的datagrid.treegrid增加表头菜单,用于显示或隐藏列 /** * @author 孙宇 * * @requires jQuery,EasyUI * * 为datagrid. ...
 - DataGridView右键菜单自定义显示及隐藏列
		
WinForm程序中表单的列可自定义显示及隐藏,是一种常见的功能,对于用户体验来说是非常好的.笔者经过一段时间的摸索,终于实现了自己想要的功能及效果,现记录一下过程: 1.新建一个自定义控件,命名为: ...
 - C# 控制win7任务栏、开始菜单的显示与隐藏
		
因为是做显示程序,故需要控制任务栏与开始菜单的显示与隐藏,这样就美观些.不啰嗦.直接上代码: using System; using System.Collections.Generic; using ...
 - Vue实现二级菜单的显示与隐藏
		
<html> <head> <title>Vue实现二级菜单的显示与隐藏</title> <script src="vue.js&quo ...
 - 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果
		
查看本章节 查看作业目录 需求说明: 在 jQuery 中使用滑入滑出动画效果,实现二级下拉导航菜单的显示与隐藏效果 用户将光标移动到"最新动态页"或"帮助查询" ...
 - javascript实现下拉菜单的显示与隐藏
		
demo.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
 - SNF快速开发平台MVC-EasyUI3.9之-DataGrid表格控件如何增加右键菜单
		
如题,我们在项目开发当中会遇到需要,表格控件增加右键菜单的使用. 下面我们就以SNF框架增加右键菜单步骤如下: 1.在加载页面当中增加如下菜单定义 <div id="mm" ...
 - C/C++ Qt 给ListWidget增加右键菜单
		
在上一篇博文<C/C++ Qt ListWidget 列表框组件应用>中介绍了ListWidget组件的基本使用技巧,本次将给ListWidget组件增加一个右键菜单,当用户在ListWi ...
 - Delphi 最小化程序到任务栏托盘 增加右键PopMenu
		
在做中间层时,中间层往往不需要点击关闭时立刻关闭,而是最小化到托盘.故而特意隐藏关闭按钮功能. 1)隐藏退出功能 用PopMenu退出菜单代替 1.增加popMenu退出菜单,绑定到窗体 2.增加变量 ...
 
随机推荐
- apache kylin总结
			
去年12月挖的坑,今天找时间填上.update:20190119 一.kylin架构 核心是预计算,在此架构上做了一些优化.计算结果存储在Hbase,对Hive等查询转换为Hbase的Scan,提高速 ...
 - CoAP、MQTT、RESTful协议区别
			
/********************************************************************** * CoAP.MQTT.RESTful协议区别 * 说明 ...
 - 九度OJ-第5章-图论
			
二.并查集 1. 例题 题目1012:畅通工程 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:10519 解决:4794 题目描述: 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出 ...
 - JAVA常用设计模式(一、单例模式、工厂模式)
			
JAVA设计模式之单例模式 import java.util.HashMap; import java.util.Map; /** * 设计模式之单例模式 * 单例模式(Singleton Patte ...
 - python 4
			
一.列表相关操作 l = ['布偶猫', '小断腿', '大白'] # . append l.append('哎呀') print(l) # . insert l.insert(, '小猪佩琪') p ...
 - java.math.*;(一)
			
package com.test; /* Math类: java.lang.Math类中包含基本的数字操作,如指数.对数.平方根和三角函数. java.math是一个包,提供用于执行任意精度整数(Bi ...
 - vue安装过程
			
我们3个安装参考的博客地址 http://blog.qianduanchina.cn/post/596c5bb27838a71273eb4da3 http://blog.csdn.net/unamat ...
 - 超级简单的数据压缩算法—LZW算法
			
1. 前文回顾 在字符串算法—数据压缩中,我们介绍了哈夫曼压缩算法(Huffman compression),本文将介绍LZW算法. 2. LZW算法 这个算法很简单,为了方便讲述,我们将采用16进制 ...
 - (27)session(设置值、取值、修改、删除)
			
session的由来 Cookie虽然在一定程度上解决了“保持状态”的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西, ...
 - python:Hamlet英文词频统计
			
#CalHamletV1.py def getText(): #定义函数读取文件 txt = open("hamlet.txt","r").read() txt ...