js代码

  1. //动态加载数据表格
  2. function InitData() {
  3. $('#grid').datagrid({
  4. url: '/Home/Query?r=' + Math.random(), //数据接收URL地址
  5. method: 'GET',
  6. iconCls: 'icon-view', //图标
  7. fit: false, //自动适屏功能
  8. nowrap: true,
  9. autoRowHeight: false, //自动行高
  10. autoRowWidth: true,
  11. striped: true,
  12. collapsible: false,
  13. remoteSort: true,
  14. idField: 'id', //主键值
  15. pagination: true, //启用分页
  16. pageSize: 20,
  17. pageList: [10, 20, 50, 100, 500, 1000],
  18. rownumbers: false, //显示行号
  19. multiSort: true, //启用排序
  20. sortable: true, //启用排序列
  21. fitcolumns: true,
  22. queryParams: $("#searchform").form2json(), //搜索条件查询
  23. singleSelect: true,
  24. loadMsg: '数据加载中,请稍后...',
  25. toolbar: '#divtoolbar',
  26. onRowContextMenu: onRowContextMenu, //右键。[表头(tab)右键onHeaderContextMenu,树形(tree)右键onContextMenu]
  27. onHeaderContextMenu: function(e, field) { //表头右键。选择要显示的列
  28. e.preventDefault();
  29. if (!cmenu) {
  30. createColumnMenu();
  31. }
  32. cmenu.menu('show', {
  33. left: e.pageX,
  34. top: e.pageY
  35. });
  36. }
  37. });
  38. }
  39.  
  40. var cmenu;
  41. //表头右键菜单
  42. function createColumnMenu() {
  43. cmenu = $('<div/>').appendTo('body');
  44. cmenu.menu({
  45. onClick: function(item) {
  46. if (item.iconCls == 'icon-ok') {
  47. $('#grid').datagrid('hideColumn', item.name);
  48. cmenu.menu('setIcon', {
  49. target: item.target,
  50. iconCls: 'icon-empty'
  51. });
  52. } else {
  53. $('#grid').datagrid('showColumn', item.name);
  54. cmenu.menu('setIcon', {
  55. target: item.target,
  56. iconCls: 'icon-ok'
  57. });
  58. }
  59. }
  60. });
  61. var fields = $('#grid').datagrid('getColumnFields');
  62. for (var i = 0; i < fields.length; i++) {
  63. var field = fields[i];
  64. var col = $('#grid').datagrid('getColumnOption', field);
  65. cmenu.menu('appendItem', {
  66. text: col.title,
  67. name: field,
  68. iconCls: 'icon-ok'
  69. });
  70. }
  71. }
  72.  
  73. //添加右击菜单内容
  74. function onRowContextMenu(e, rowIndex, rowData) {
  75. e.preventDefault();
  76. $(this).datagrid('selectRow', rowIndex); //选中当前行
  77. $('#mm').menu('show', {
  78. left: e.pageX,
  79. top: e.pageY
  80. });
  81. }

html代码

  1. <div id="mm" class="easyui-menu" style="width: 100px;">
  2. <div onclick="add()" data-options="iconCls:'icon-add'">添加</div>
  3. <div onclick="print()" data-options="iconCls:'icon-print'">打印</div>
  4. <div onclick="reload()" data-options="iconCls:'icon-reload'">刷新</div>
  5. @*<div class="menu-sep"></div>*@ //分割线
  6. </div>

至此大功初成。

EasyUI datagrid添加右键菜单项的更多相关文章

  1. java cef3 禁止右键菜单项

    如下图所示,在context_menu_handler.cpp中ContextMenuHandler::OnBeforeContextMenu添加以下代码即可: ){ model->Clear( ...

  2. JCEF 如何修改右键菜单项(JCEF在右键菜单中添加开发者选项-show dev tools)

    需求: 在界面的右键事件中添加一个打开开发者选项的菜单(Show Dev Tools) 所以我们可以看到的是在界面上右键,会有默认的一些菜单项(前进,后退,打印,查看源码),而这些功能并不一定是我们需 ...

  3. Datagrid添加右键菜单 标签: 三层EasyUI 2015-08-14 19:57 1029人阅读 评论(22)

    最近的一个项目前台使用的EasyUI,每个界面都有DataGrid控件,按照我们的想法,应该做出来的效果是单击选中,双击可编辑,当然右键也应该出现这些菜单按钮,想的挺好,那么该如何实现呢?一开始不知道 ...

  4. DevExpress实用心得:XtraGridControl动态添加右键菜

    在使用GridControl的时候经常需要添加右键菜单. 一般的做法是自己创建菜单项,然后注册GridView的Mouse-Click事件,然后Show出定义好的菜单. 但是涉及到一些单击事件会收到编 ...

  5. 自定义 Windows 右键菜单项

    注:本文涉及到注册表操作,不认识请不要随意修改! 右键菜单项储存在注册表 HKEY_CLASSES_ROOT 中,一般各种程序的右键菜单项都可以在此项下面找到: 添加右键菜单项 右键单击 shell, ...

  6. EasyUI DataGrid 添加 Footer

    做后台管理界面时,EasyUI 的 DataGrid 经常会被用到,有时候一些总的统计数据不合适放在数据表格里,需要单独显示,这时候就可以放在Footer中显示而不必另外布局. 该怎么给 DataGr ...

  7. IE浏览器右键菜单插件开发(上篇)——自定义一个IE右键菜单项

    要做一个IE右键浏览器插件,得3步走. 第一,在IE右键菜单上添加自定义菜单名称,是通过注册表实现的,如下: string regkey = @"Software\Microsoft\Int ...

  8. WijmoJS 以声明方式添加 Vue 菜单项

    WijmoJS 以声明方式添加 Vue 菜单项 在V2019.0 Update2 的全新版本中,Vue框架下 WijmoJS 的前端UI组件功能得到再度增强. 如今,向wj菜单组件添加项的方法将不限于 ...

  9. 添加鼠标右键菜单项(EditPlus为例)

    下载Editplus,发现大多是绿色版,这就导致鼠标右键快捷菜单了,使用起来不方面,上网搜集了下资料,解决方法很简单: 首先进入注册表:regedit 然后如图设置新项. 其中editplus是右键菜 ...

随机推荐

  1. jquery图表插件morris.js参数详解和highcharts图表插件

    一.morris.js 优点:轻巧.简单好用 缺点:没highcharts功能多,常用的足以 网址:http://morrisjs.github.io/morris.js/ 核心代码 1.head调用 ...

  2. Android 开发问题集合

    1.屏幕横.竖切换 修改“AndroidManifest.xml”的android:screenOrientation 一般需要:landscape.portrait 2.修改应用名字 修改“Andr ...

  3. 常用的PL/SQL开发原则

    (1)广泛使用绑定变量,特别是批量绑定,因为这可以有效的避免sql的硬解析和PL/SQL引擎和SQL引擎的上下文切换!(2)广泛使用UROWID来处理DML语句(UROWID是ROWID扩展,ORAC ...

  4. CSS的伪元素(二)

    随便聊聊CSS的伪元素,虽然它们在项目开发中用的并不多,但确实很有用,在项目中不用它,是因为大家不能了解它们,下面是一个工作场景,如有四个按钮,分别是建立,编辑,删除和修改,而我们要求这在前台显示的汉 ...

  5. win下Velocity安装和试用

    1.eclipse等就不说了 2.velocity的eclipse插件: http://www.oschina.net/p/veloeclipse(介绍) 方法1(现在基本上非常慢)http://pr ...

  6. centos使用网易163yum源

    CentOS系统自带的更新源的速度实在是慢,为了让CentOS6使用速度更快的YUM更新源,可以选择163(网易)的更新源. 1.下载repo文件 wget http://mirrors.163.co ...

  7. HDU 5744 Keep On Movin

    Keep On Movin Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  8. util-C# 复杂条件查询(sql 复杂条件查询)查询解决方案

    ylbtech-funcation-util:  C# 复杂条件查询(sql 复杂条件查询)查询解决方案 C# 复杂条件查询(sql 复杂条件查询)查询解决方案 1.A,Ylbtech.Model返回 ...

  9. codeforces 700B Connecting Universities 贪心dfs

    分析:这个题一眼看上去很难,但是正着做不行,我们换个角度:考虑每条边的贡献 因为是一棵树,所以一条边把树分成两个集合,假如左边有x个学校,右边有y个学校 贪心地想,让每条边在学校的路径上最多,所以贡献 ...

  10. 《Python 学习手册4th》 第十三章 while和for循环

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...