码迷,mamicode.com
首页 > 其他好文 > 详细

[Easyui - Grid]为easyui的datagrid、treegrid增加表头菜单,用于显示或隐藏列

时间:2015-11-16 22:53:06      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

 为easyui的datagrid、treegrid增加表头菜单,用于显示或隐藏列

 

/**
 * @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 = $(‘<div style="width:100px;"></div>‘).appendTo(‘body‘);
        var fields = grid.datagrid(‘getColumnFields‘);
        for ( var i = 0; i < fields.length; i++) {
            var fildOption = grid.datagrid(‘getColumnOption‘, fields[i]);
            if (!fildOption.hidden) {
                $(‘<div iconCls="icon-ok" field="‘ + fields[i] + ‘"/>‘).html(fildOption.title).appendTo(tmenu);
            } else {
                $(‘<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 {
                    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;

 

[Easyui - Grid]为easyui的datagrid、treegrid增加表头菜单,用于显示或隐藏列

标签:

原文地址:http://www.cnblogs.com/Alenliu/p/4970246.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!