zoukankan      html  css  js  c++  java
  • easyui datagrid 右键 仿ext

     1 var createGridHeaderContextMenu = function(e, field) {
     2     e.preventDefault();
     3     var grid = $(this);/* grid本身 */
     4     var headerContextMenu = this.headerContextMenu;/* grid上的列头菜单对象 */
     5     if (!headerContextMenu) {
     6         var tmenu = $('<div style="100px;"></div>').appendTo('body');
     7         var asc = $('<div iconCls="icon-asc" field="asc">升序</div>').appendTo(tmenu);
     8         var desc = $('<div iconCls="icon-desc" field="desc">降序</div>').appendTo(tmenu);
     9         var filedHTML = $('<div iconCls="icon-columns"></div>');
    10         var span = $('<span>显示列/隐藏列</span>');
    11         var spdiv = $('<div></div>');
    12         var fields = grid.datagrid('getColumnFields');
    13         for ( var i = 0; i < fields.length; i++) {
    14             var fildOption = grid.datagrid('getColumnOption', fields[i]);
    15             if (!fildOption.hidden) {
    16                 $('<div iconCls="icon-checked" field="' + fields[i] + '"/>').html(fildOption.title).appendTo(spdiv);
    17             } else {
    18                 $('<div iconCls="icon-unchecked" field="' + fields[i] + '"/>').html(fildOption.title).appendTo(spdiv);
    19             }
    20         }
    21         span.appendTo(filedHTML);
    22         spdiv.appendTo(filedHTML);
    23         filedHTML.appendTo(tmenu);
    24         headerContextMenu = this.headerContextMenu = tmenu.menu({
    25             onClick : function(item) {
    26                 var f = $(this).attr('field')
    27                 var fieldProperty = $(item.target).attr('field');
    28                 if (item.iconCls == 'icon-checked') {
    29                     grid.datagrid('hideColumn', fieldProperty);
    30                     $(this).menu('setIcon', {
    31                         target : item.target,
    32                         iconCls : 'icon-unchecked'
    33                     });
    34                 }
    35                 if (item.iconCls == 'icon-unchecked') {
    36                     grid.datagrid('showColumn', fieldProperty);
    37                     $(this).menu('setIcon', {
    38                         target : item.target,
    39                         iconCls : 'icon-checked'
    40                     });
    41                 }
    42                 if (item.iconCls == 'icon-asc') {
    43                     var options = grid.datagrid('options');
    44                     options.sortName = f;
    45                     options.sortOrder =fieldProperty;
    46                     grid.datagrid('reload');
    47                 }
    48                 if (item.iconCls == 'icon-desc') {
    49                     var options = grid.datagrid('options');
    50                     options.sortName = f;
    51                     options.sortOrder =fieldProperty;
    52                     grid.datagrid('reload');
    53                 }
    54             }
    55         });
    56     }
    57     headerContextMenu.attr('field',field);
    58     headerContextMenu.menu('show', {
    59         left : e.pageX,
    60         top : e.pageY
    61     });
    62 };
    63 $.fn.datagrid.defaults.onHeaderContextMenu = createGridHeaderContextMenu;
    64 $.fn.treegrid.defaults.onHeaderContextMenu = createGridHeaderContextMenu;

  • 相关阅读:
    AJAX删除事件与加载数据
    AJAX的基本操作
    用JavaScript写弹窗
    jQuery事件和JSON点语法
    jQuery
    jQuery基础知识
    php 实现简单购物车功能(2)
    css实现3D立方体旋转特效
    for循环与foreach的区别
    微信小程序开发2 双线程模型,小程序中app.js中的生命周期,小程序的页面的生命周期,小程序的事件,事件补充(事件的冒泡,捕获)
  • 原文地址:https://www.cnblogs.com/XiaoGer/p/2966055.html
Copyright © 2011-2022 走看看