EasyUI datagrid添加右键菜单项
js代码
//动态加载数据表格
function InitData() {
$('#grid').datagrid({
url: '/Home/Query?r=' + Math.random(), //数据接收URL地址
method: 'GET',
iconCls: 'icon-view', //图标
fit: false, //自动适屏功能
nowrap: true,
autoRowHeight: false, //自动行高
autoRowWidth: true,
striped: true,
collapsible: false,
remoteSort: true,
idField: 'id', //主键值
pagination: true, //启用分页
pageSize: 20,
pageList: [10, 20, 50, 100, 500, 1000],
rownumbers: false, //显示行号
multiSort: true, //启用排序
sortable: true, //启用排序列
fitcolumns: true,
queryParams: $("#searchform").form2json(), //搜索条件查询
singleSelect: true,
loadMsg: '数据加载中,请稍后...',
toolbar: '#divtoolbar',
onRowContextMenu: onRowContextMenu, //右键。[表头(tab)右键onHeaderContextMenu,树形(tree)右键onContextMenu]
onHeaderContextMenu: function(e, field) { //表头右键。选择要显示的列
e.preventDefault();
if (!cmenu) {
createColumnMenu();
}
cmenu.menu('show', {
left: e.pageX,
top: e.pageY
});
}
});
} var cmenu;
//表头右键菜单
function createColumnMenu() {
cmenu = $('<div/>').appendTo('body');
cmenu.menu({
onClick: function(item) {
if (item.iconCls == 'icon-ok') {
$('#grid').datagrid('hideColumn', item.name);
cmenu.menu('setIcon', {
target: item.target,
iconCls: 'icon-empty'
});
} else {
$('#grid').datagrid('showColumn', item.name);
cmenu.menu('setIcon', {
target: item.target,
iconCls: 'icon-ok'
});
}
}
});
var fields = $('#grid').datagrid('getColumnFields');
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
var col = $('#grid').datagrid('getColumnOption', field);
cmenu.menu('appendItem', {
text: col.title,
name: field,
iconCls: 'icon-ok'
});
}
} //添加右击菜单内容
function onRowContextMenu(e, rowIndex, rowData) {
e.preventDefault();
$(this).datagrid('selectRow', rowIndex); //选中当前行
$('#mm').menu('show', {
left: e.pageX,
top: e.pageY
});
}
html代码
<div id="mm" class="easyui-menu" style="width: 100px;">
<div onclick="add()" data-options="iconCls:'icon-add'">添加</div>
<div onclick="print()" data-options="iconCls:'icon-print'">打印</div>
<div onclick="reload()" data-options="iconCls:'icon-reload'">刷新</div>
@*<div class="menu-sep"></div>*@ //分割线
</div>
至此大功初成。
EasyUI datagrid添加右键菜单项的更多相关文章
- java cef3 禁止右键菜单项
		如下图所示,在context_menu_handler.cpp中ContextMenuHandler::OnBeforeContextMenu添加以下代码即可: ){ model->Clear( ... 
- JCEF 如何修改右键菜单项(JCEF在右键菜单中添加开发者选项-show dev tools)
		需求: 在界面的右键事件中添加一个打开开发者选项的菜单(Show Dev Tools) 所以我们可以看到的是在界面上右键,会有默认的一些菜单项(前进,后退,打印,查看源码),而这些功能并不一定是我们需 ... 
- Datagrid添加右键菜单                                                                                                         标签:               三层EasyUI                                            2015-08-14 19:57             1029人阅读              评论(22)
		最近的一个项目前台使用的EasyUI,每个界面都有DataGrid控件,按照我们的想法,应该做出来的效果是单击选中,双击可编辑,当然右键也应该出现这些菜单按钮,想的挺好,那么该如何实现呢?一开始不知道 ... 
- DevExpress实用心得:XtraGridControl动态添加右键菜
		在使用GridControl的时候经常需要添加右键菜单. 一般的做法是自己创建菜单项,然后注册GridView的Mouse-Click事件,然后Show出定义好的菜单. 但是涉及到一些单击事件会收到编 ... 
- 自定义 Windows 右键菜单项
		注:本文涉及到注册表操作,不认识请不要随意修改! 右键菜单项储存在注册表 HKEY_CLASSES_ROOT 中,一般各种程序的右键菜单项都可以在此项下面找到: 添加右键菜单项 右键单击 shell, ... 
- EasyUI DataGrid 添加 Footer
		做后台管理界面时,EasyUI 的 DataGrid 经常会被用到,有时候一些总的统计数据不合适放在数据表格里,需要单独显示,这时候就可以放在Footer中显示而不必另外布局. 该怎么给 DataGr ... 
- IE浏览器右键菜单插件开发(上篇)——自定义一个IE右键菜单项
		要做一个IE右键浏览器插件,得3步走. 第一,在IE右键菜单上添加自定义菜单名称,是通过注册表实现的,如下: string regkey = @"Software\Microsoft\Int ... 
- WijmoJS 以声明方式添加 Vue 菜单项
		WijmoJS 以声明方式添加 Vue 菜单项 在V2019.0 Update2 的全新版本中,Vue框架下 WijmoJS 的前端UI组件功能得到再度增强. 如今,向wj菜单组件添加项的方法将不限于 ... 
- 添加鼠标右键菜单项(EditPlus为例)
		下载Editplus,发现大多是绿色版,这就导致鼠标右键快捷菜单了,使用起来不方面,上网搜集了下资料,解决方法很简单: 首先进入注册表:regedit 然后如图设置新项. 其中editplus是右键菜 ... 
随机推荐
- error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportW
			error LNK2005 and error LNK2019 error LNK2019: unresolved external symbol __imp___CrtDbgReportW refe ... 
- busybox filesystem add ldd function
			/******************************************************************** * busybox filesystem add ldd f ... 
- apache开源项目 -- tomee
			Apache TomEE,发音是“Tommy”,是一个经Apache.JavaEE6.Web框架认证的适配器,其在Tomcat服务器中是最强大的.Apache TomEE是由香草项目(简化常见编程任务 ... 
- ffmpeg的内部Video Buffer管理和传送机制
			ffmpeg的内部Video Buffer管理和传送机制 本文主要介绍ffmpeg解码器内部管理Video Buffer的原理和过程,ffmpeg的Videobuffer为内部管理,其流程大致为:注册 ... 
- 【编程基础】const与#define的区别
			[前言] 相信大家看别人代码的时候都遇到过,有人用#define定义,也有人用const定义. 那么两者的区别到底是什么呢?哪个更好用呢? 网上查了又查,下面总结一下. [总结] 编译器处理方式不同 ... 
- 【转】移动web资源整理
			目录(更新于20150311) meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 忽略将页面中的数字识别为电话号码 忽略Android平台中对邮箱地址的识别 当网站添加到主屏幕快速 ... 
- Android:实现一种浮动选择菜单的效果
			总结如何实现Android浮动层,主要是dialog的使用. 自定义一个类继承自Dialog类,然后在构造方法中,定义这个dialog的布局和一些初始化信息. 案例1: public class Me ... 
- Face++接口封装
			本节使用doCurlGetRequest函数来封装Face++的接口请求.我们在class文件夹下的faceStub.php文件中实现 一个faceStub类,封装请求Face++的相关接口. 实现代 ... 
- (转)我是如何在SQLServer中处理每天四亿三千万记录的
			首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ... 
- Visual Assist X 破解步骤
			1. 下载VA安装包,并点击exe文件安装(附下载地址:http://down.51cto.com/data/766817) 2. 将Visual Assist X Patch文件复制到C:\User ... 
