easyui 获取隐藏列_jquery easyui datagrid 自定义显示隐藏列

在jQuery EasyUI的Datagrid中,当列过多导致无法完全显示时,可以创建自定义表头菜单来显示或隐藏列。通过`createGridHeaderContextMenu`函数,实现了点击列头弹出菜单,用户可以选择显示或隐藏特定列的功能。该函数会遍历所有非隐藏列,为每个列创建菜单项,并设置图标和事件监听器,以便切换列的可见状态。此功能适用于需要灵活控制表格列显示的应用场景。
摘要由CSDN通过智能技术生成

在项目中使用数据表格jquery easyui datagrid ,在列很多时,没有足够宽度来显示数据表格,可以自定义要求显示隐藏那些表头的列,以下是代码,需要的可以参考。

/**

* @author 孙宇

*

* @requires jQuery,EasyUI

*

* 为datagrid、treegrid增加表头菜单,用于显示或隐藏列,注意:冻结列不在此菜单中

*/

var createGridHeaderContextMenu = function(e, field) {

e.preventDefault();

var grid = $(this);/* grid本身 */

var headerContextMenu = this.headerContextMenu;/* grid上的列头菜单对象 */

if (!headerContextMenu) {

var tmenu = $('

var fields = grid.datagrid('getColumnFields');

for ( var i = 0; i < fields.length; i++) {

var fildOption = grid.datagrid('getColumnOption', fields[i]);

if (!fildOption.hidden) {

$('

} else {

$('

}

}

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 {

grid.datagrid('showColumn', field);

$(this).menu('setIcon', {

target : item.target,

iconCls : 'icon-ok'

});

}

}

});

}

headerContextMenu.menu('show', {

left : e.pageX,

top : e.pageY

});

};

$.fn.datagrid.defaults.onHeaderContextMenu = createGridHeaderContextMenu;

$.fn.treegrid.defaults.onHeaderContextMenu = createGridHeaderContextMenu;

在线演示:http://sshe.btboys.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值