ExtJs grid行 右键菜单的两种方法


Posted in Javascript onJune 19, 2010

在这下边: 方法一

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="gridContextMenu.aspx.cs" Inherits="gridContextMenu" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="< /FONT>http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title>无标题页</title> 
<link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css" /> 
<link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/xtheme-green.css" /> 
<script type="text/javascript" src="ExtJS/adapter/ext/ext-base.js"></script> 
<script type="text/javascript" src="ExtJS/ext-all.js"></script> 
<script type="text/javascript" src="ExtJS/ext-lang-zh_CN.js"></script> 
<style type="text/css"> 
.panel_icon11 { background-image:url(images/first.gif)} 
.center_icon { background-image:url(images/center.png)} 
</style> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<script type="text/javascript"> 
function ready() 
{ 
var url = "jsonGrid.aspx?Param=select"; 
var sm = new Ext.grid.CheckboxSelectionModel(); 
var cm = new Ext.grid.ColumnModel 
([ 
sm,new Ext.grid.RowNumberer({header:"编号",width:50}), 
{header:"编号",dataIndex:"ID",width:10,hidden:true}, 
{header:"标题",dataIndex:"TypeCName",width:100,editor:new Ext.form.TextField()}, 
{header:"英文名称",dataIndex:"TypeEName",width:100,editor:new Ext.form.TextField()}, 
{header:"状态",dataIndex:"DelFlag",width:100,renderer:function(value){if(value==false) {return "显示";} else {return "隐藏";}}}, 
{header:"添加日期",dataIndex:"AddDate",width:100,renderer:Ext.util.Format.dateRenderer('Y年m月d日')} 
]); 
cm.defaultSortable = true; 
var fields = 
[ 
{name:"ID"}, 
{name:"TypeCName"}, 
{name:"TypeEName"}, 
{name:"DelFlag"}, 
{name:"AddDate"} 
]; 
var store = new Ext.data.Store 
({ 
proxy:new Ext.data.HttpProxy({url:url}), 
reader:new Ext.data.JsonReader({totalProperty:"totalPorperty",root:"root",fields:fields}) 
}); 
store.load({params:{start:0,limit:12}}); 
var pagingBar = new Ext.PagingToolbar 
({ 
displayInfo:true, 
emptyMsg:"没有数据显示", 
displayMsg:"显示从{0}条数据到{1}条数据,共{2}条数据", 
store:store, 
pageSize:12 
}); 
var grid = new Ext.grid.GridPanel 
({ 
id:"MenuGridPanel", 
renderTo:document.body, 
layout:"fit", 
frame:true, 
border:true, 
width:600, 
height:360, 
autoScroll:true, 
store:store, 
sm:sm, 
cm:cm, 
viewConfig:{forceFit: true}, 
title:'<img style="height:auto; width:auto;" src="images/first.gif" /> Ext2.2全新功能版系列之--右键菜单', 
bbar:pagingBar 
}); 
grid.on("rowcontextmenu",function(grid,rowIndex,e) 
{ 
e.preventDefault();if(rowIndex<0){return;} 
var treeMenu = new Ext.menu.Menu 
([ 
{xtype:"button",text:"添加",icon:"Images/Icons/button/add.gif",pressed:true,handler:function(){}}, 
{xtype:"button",text:"编辑",icon:"Images/Icons/button/delete.gif",pressed:true,handler:function(){}}, 
{xtype:"button",text:"隐藏",icon:"Images/Icons/arrow-down.gif",pressed:true,handler:function(){}}, 
{xtype:"button",text:"显示",icon:"Images/Icons/arrow-up.gif",pressed:true,handler:function(){}}, 
{xtype:"button",text:"删除",icon:"Images/Icons/button/cross.gif",pressed:true, handler:function(){}}, 
{xtype:"button",text:"上传图片",icon:"Images/Icons/plugin_add.gif",pressed:true,handler:function(){}} 
]); 
treeMenu.showAt(e.getPoint()); 
}); 
} 
</script> 
<script type="text/javascript"> 
Ext.onReady(ready); 
</script> 
</div> 
</form> 
</body> 
</html>

给 Extjs grid 加入右键菜单方法二。
grid.on("rowcontextmenu", function (grid, rowIndex, e) { 
e.preventDefault(); 
if (rowIndex < 0) { return; } 
var treeMenu = new Ext.menu.Menu 
([ 
{ 
xtype: "", 
text: "详细", 
iconCls: 'context-dog', 
pressed: false, 
handler: function () { 
//获得行数据 
var record = grid.getStore().getAt(rowIndex); 
//open_receive_detailWindow(record.data.smsIndex); 
alert(record.data.company); 
//record.data.taskId 
} 
}, { 
xtype: "", 
text: "删除", 
iconCls: 'context-cat', 
pressed: false, 
handler: function () { 
//获得行数据 
var record = grid.getStore().getAt(rowIndex); 
alert(record.data.company); 
} 
} 
]); 
treeMenu.showAt(e.getXY()); 
});
Javascript 相关文章推荐
JavaScript this调用规则说明
Mar 08 Javascript
jquery插件之easing 动态菜单
Aug 21 Javascript
Javascript this 的一些学习总结
Aug 31 Javascript
jQuery+PHP打造滑动开关效果
Dec 16 Javascript
JS获得选取checkbox整行数据的方法
Jan 28 Javascript
一个炫酷的Bootstrap导航菜单
Dec 28 Javascript
解决vue打包项目后刷新404的问题
Mar 06 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
js经验分享 JavaScript反调试技巧
Mar 10 Javascript
Koa2微信公众号开发之消息管理
May 16 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
Nov 12 Javascript
JavaScript中也使用$美元符号来代替document.getElementById
Jun 19 #Javascript
javascript,jquery闭包概念分析
Jun 19 #Javascript
基于jquery的滚动新闻列表
Jun 19 #Javascript
基于Jquery的温度计动画效果
Jun 18 #Javascript
JQuery Dialog的内存泄露问题解决方法
Jun 18 #Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
Jun 18 #Javascript
jquery ready()的几种实现方法小结
Jun 18 #Javascript
You might like
用户的详细注册和判断
2006/10/09 PHP
利用php绘制饼状图的实现代码
2013/06/07 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
2019/04/03 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
超清晰的document对象详解
2007/02/27 Javascript
js 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
2009/03/26 Javascript
GreyBox技术总结(转)
2010/11/23 Javascript
JQuery中html()方法使用不当带来的陷阱
2011/04/07 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
JavaScript更改字符串的大小写
2015/05/07 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
js验证密码强度解析
2020/03/18 Javascript
Typescript3.9 常用新特性一览(推荐)
2020/05/14 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
python 逆向爬虫正确调用 JAR 加密逻辑
2021/01/12 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
商务英语专业毕业生自荐信
2013/11/05 职场文书
房屋买卖授权委托书
2014/09/27 职场文书
学校食品安全责任书
2015/01/29 职场文书
售后前台接待岗位职责
2015/04/03 职场文书
现场施工员岗位职责
2015/04/11 职场文书
公司表扬稿范文
2015/05/05 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
pandas中DataFrame重置索引的几种方法
2021/05/24 Python
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
vue+element ui实现锚点定位
2021/06/29 Vue.js