当前位置: 移动技术网 > IT编程>脚本编程>extjs > ExtJs grid行 右键菜单的两种方法

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

2018年05月29日  | 移动技术网IT编程  | 我要评论
在这下边: 方法一
复制代码 代码如下:

<%@ 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());
});

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网