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

在这下边: 方法一

复制代码 代码如下:

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

时间: 2024-08-03 21:29:37

ExtJs grid行 右键菜单的两种方法_extjs的相关文章

去掉Flash右键菜单的两种方法

Flash的右键菜单中只显示了很少的几个菜单项,那么这个是怎么做到的呢!?其实实现这个效果并不难,只要用几句AS就能搞定了! 第一种写法: 以下为引用的内容: var my_cm:ContextMenu = new ContextMenu();//新建一个菜单对象 my_cm.hideBuiltInItems();//新建一个菜单对象的内容隐藏 my_cm.builtInItems.print = true;//如果你想要某个或某几个出现,可以这样设置,这里设置的仅显示"打印" thi

Android 中Popwindow弹出菜单的两种方法实例

Android 中Popwindow弹出菜单的两种方法实例 1.popWindow就是对话框的一种方式! 此文讲解的android中对话框的一种使用方式,它叫popWindow. 2.popWindow的特性 Android的对话框有两种:PopupWindow和AlertDialog.它们的不同点在于: AlertDialog的位置固定,而PopupWindow的位置可以随意. AlertDialog是非阻塞线程的,而PopupWindow是阻塞线程的. PopupWindow的位置按照有无偏

sql动态行转列的两种方法_MsSql

第一种方法: 复制代码 代码如下: select *from ( select Url,case  when  Month=01 then  '1月' when  Month=02 then '2月' when  Month=03 then  '3月' when  Month=04 then '4月' when  Month=05 then  '5月' when  Month=06 then '6月' when  Month=07 then  '7月' when  Month=08 then '

Excel表格的每一个单元格重新命名的两种方法

  Excel表格的每一个单元格都有一个默认的名称,其命名规则是列标加横标,例如A1表示第一列.第一行的单元格.如果要将某单元格重新命名,可以运用以下两种方法. 工具/原料 Microsoft Office WPS Office 方法一 1.打开Excel表格.双击鼠标左键或者单击鼠标右键选择打开选项. 2.选中需要重新命名的单元格.将鼠标光标移动至需要选定的单元格区域内单击左键进行选定. 3.在选定单元格区域单击鼠标右键,弹出快捷菜单. 4.选择快捷菜单中的"定义名称"选项. 5.在

Excel单元格中数据自动换行的两种方法

Excel单元格中数据自动换行的两种方法   不管单元格中是已经有了数据,或者还等待输入数据,都可以对它执行自动换行命令.自动换行的方法有两种,现在就来对下面表格中已经超出单元格宽度的数据使用自动换行. Excel单元格中数据自动换行的方法一 选择要换行的单元格(可以是一个,也可以是多个),然后切换到"开始"选项卡,单击"对齐方式"组中的"自动换行"命令. Excel单元格中数据自动换行的方法二 1.选中要换行的单元格,单击鼠标右键,在弹出的菜单

Excel中常见的拆分单元格两种方法

  下图中的表头就是已经合并了四个单元格的一个大单元格,本教程需要讲述的就是如何将这个大的单元格拆分成原有的四个小单元格.下面请看小编图文详解Excel中常见的拆分单元格两种方法. 拆分单元格方法一 选中要拆分的大单元格,切换到"开始"选项卡,在"对齐方式"组中单击"合并后居中"按钮.这个按钮之前是选中状态,单击之后,就取消选中了,达到了拆分的效果. 拆分单元格方法二 1.选中要合并的单元格,单击鼠标右键,在弹出的快捷菜单中选择"设置单

Excel中制作下拉菜单的4种方法

Excel中制作下拉菜单的4种方法   其实还有另外3种: 1.创建列表 在一列中按alt+向下箭头,即可生成一个下拉菜单(创建列表).此方法非常简单. 2.开发工具 - 插入 - 组合框(窗体控件) 如果你的excel没有[开发工具]选项,可以从 文件 - 选项 - 自定义功能区,选中"开发工具".(excel2007为office按钮 - excel选项 - 常规 - 显示"开发工具") 3.开发工具 - 组合框(ActiveX控件) 注: 在"设计模

提高win8系统打开文件夹速度的两种方法

  提高win8系统打开文件夹速度的两种方法           原因分析 如果电脑没有安装第三方防护软件,Win8/Win8.1系统自带的Windows Defender处于默认开启状态.这导致扫描文件时会占用大量的系统资源并造成打开文件夹慢,半天无响应问题;如果安装有其他防护软件,Windows Defender应该会自动关闭. 办法一:关闭Windows Defender 在Win8/win8.1桌面下,将鼠标悬停在任务栏右上角或右下角,弹出竖条菜单,点击"设置"→"控

edius6.52永久试用的两种方法

  EDIUS是一款非线性编辑软件,今天,本文将为大家介绍edius6.52破解教程,为大家介绍edius6.52永久试用的两种方法,有兴趣的朋友可以来看一看. 两种方法都要先右击关闭 GV License manager,彻底禁止方法:在WIN7命令行中,输入msconfig,选择启动项,禁止它,具体方法如下: 第一种方法:把主板电池拿下来,使系统保持一个时间,应该同YURAN大师的方法,只是不用每次去改时间. 第二种方法:使用Trial-Reset4.0Final 清理FNP,扫描FlexN