ExtJS4.2学习(12)基于表格的右键菜单

简介:

在实际的软件开发中,我们的grid表格为了方便用户通常会有一个右键菜单来实现对表格的增、删、改等操作,其实只需要2步就可轻松实现
第一、创建一个Ext.menu.Menu

1
2
3
4
5
6
7
8
9
10
//表格右键菜单
     var  contextmenu =  new  Ext.menu.Menu({
         id: 'theContextMenu' ,
         items:[{
             text: '查看详情' ,
             handler: function (){
                 Ext.Msg.alert( "系统提示" , "测试" );
             }
         }]
     });

第二、监听表格的Ext.menu.Menu事件

1
2
3
4
grid.on( "itemcontextmenu" , function (view,record,item,index,e){
         e.preventDefault();
         contextmenu.showAt(e.getXY());
     });

K,一切大功告成。
20131210_da73ca25e06c5340dde4SdR4SQP7D0m

以下是完整可以运行的代码,可以复制下来跑一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< meta  http-equiv = "Content-Type"  content = "text/html; charset=UTF-8" >
< title >Hello Extjs4.2</ title >
< link  href = "../ExtJS4.2/resources/css/ext-all.css"  rel = "stylesheet" >
< script  src = "../ExtJS4.2/ext-all.js" ></ script >
< script  src = "../ExtJS4.2/locale/ext-lang-zh_CN.js" ></ script >
< script  type = "text/javascript" >
//前几节已经说过了,这里属性不再赘述,只讲重点
Ext.onReady(function(){
     var columns = [
                    {header:'编号',dataIndex:'id'},
                    {header:'名称',dataIndex:'name'},
                    {header:'描述',dataIndex:'descn'}
                ];
       
     var data = [
         ['1','name1','descn1'],
         ['2','name2','descn2'],
         ['3','name3','descn3'],
         ['4','name4','descn4'],
         ['5','name5','descn5']
     ];
       
     var store = new Ext.data.ArrayStore({
         data: data,
         fields: [
             {name: 'id'},
             {name: 'name'},
             {name: 'descn'}
         ]
     });
     store.load();
       
     var grid = new Ext.grid.GridPanel({
         renderTo: 'grid',
         store: store,
         columns: columns
     });
           
     //表格右键菜单
     var contextmenu = new Ext.menu.Menu({
         id:'theContextMenu',
         items:[{
             text:'查看详情',
             handler:function(){
                 Ext.Msg.alert("系统提示","测试");
             }
         }]
     });
           
     grid.on("itemcontextmenu",function(view,record,item,index,e){
         e.preventDefault();
         contextmenu.showAt(e.getXY());
     });
});
</ script >
</ head >
< body >
< h1 >我的ExtJS4.2学习之路</ h1 >
< hr  />
作者:束洋洋
开始日期:2013年11月20日 23:20:43
< h2 >深入浅出ExtJS之基于表格的右键菜单</ h2 >
< div  id = "grid" ></ div >
</ body >
</ html >

本文转自shyy8712872 51CTO博客,原文链接:http://blog.51cto.com/shuyangyang/1340659,如需转载请自行联系原作者


相关文章
|
人工智能 搜索推荐 物联网
如何训练个人的Gpt4ALL
如何训练个人的Gpt4ALL
4056 0
如何训练个人的Gpt4ALL
|
算法 编译器 数据库
【C++ 泛型编程 高级篇】使用SFINAE和if constexpr灵活处理类型进行条件编译
【C++ 泛型编程 高级篇】使用SFINAE和if constexpr灵活处理类型进行条件编译
1062 0
|
7月前
|
SQL JSON API
什么!我把SQL编辑器装进了大模型?
本文旨在通过约束解码技术,赋予大型语言模型在生成SQL等结构化内容时更高的准确性、可控性与可解释性,从而满足企业级场景对“精准生成”的严苛要求。
1012 125
什么!我把SQL编辑器装进了大模型?
|
10月前
|
存储 人工智能 算法
《AI 剧本生成与动画创作》解决方案评测
《AI 剧本生成与动画创作》解决方案评测
245 11
|
存储 安全 PHP
【PHP 开发专栏】PHP 框架入门与选择
【4月更文挑战第30天】本文介绍了PHP框架的基础知识,强调其在提高开发效率和代码质量上的优势。文中列举了常见的PHP框架,如Laravel(适合复杂项目)、Symfony(适合企业级应用)、CodeIgniter(轻量级,适用于中小型项目)、Yii(高性能,适合大型应用)和Phalcon(极佳性能,适合高并发场景)。选择框架时,应考虑项目需求、学习曲线、社区支持和技术栈兼容性。
427 0
|
存储 负载均衡 Java
Jetty技术深度解析及其在Java中的实战应用
【9月更文挑战第3天】Jetty,作为一款开源的、轻量级、高性能的Java Web服务器和Servlet容器,自1995年问世以来,凭借其卓越的性能、灵活的配置和丰富的扩展功能,在Java Web应用开发中占据了举足轻重的地位。本文将详细介绍Jetty的背景、核心功能点以及在Java中的实战应用,帮助开发者更好地理解和利用Jetty构建高效、可靠的Web服务。
869 2
|
存储 安全 Unix
22 Cookie
路老师在知乎上分享PHP语言的知识,帮助大家入门并深入了解PHP。本文主要介绍Cookie的概念、功能及管理方法,包括如何创建、读取、删除Cookie,以及Cookie的生命周期等内容。纯干货,技术知识分享。
204 0
|
存储 监控 安全
裸金属服务器,云用户的新体验
**摘要:** 裸金属服务器是结合物理服务器硬件优势和云服务虚拟化功能的设备,提供专用资源、无性能损失且易于扩展。它支持自动化发放、云硬盘、VPC网络和生命周期管理,适用于核心业务、高性能计算和大数据等。产品特点是快速发放(5分钟内)、共享卷支持、高安全性和灵活部署。常见客户场景包括合规与稳定性需求、低成本资源管理、定制化硬件需求。流行原因包括物理机的安全感、高性能要求、严格安全监管、克服传统托管弊端及适应混合计算场景。
|
机器学习/深度学习 人工智能 算法
智能增强:人工智能在医疗诊断中的应用与挑战
本文深入探讨了人工智能技术在医疗诊断领域的应用及其带来的变革。文章首先概述了AI技术的基本原理和发展历程,随后详细分析了AI在提高诊断准确性、个性化治疗计划以及疾病预防方面的具体应用案例。同时,文章也指出了AI在医疗实践中面临的数据隐私、算法透明度和医疗伦理等挑战,并提出了相应的解决策略。最后,文章展望了AI技术在未来医疗诊断中的发展前景,强调了跨学科合作的重要性以及持续监管和技术创新的必要性。
|
Android开发
Android 7.1 启动分屏模式分析(SystemUI), 附应用启动分屏方法
Android 7.1 启动分屏模式分析(SystemUI), 附应用启动分屏方法
639 0
Android 7.1 启动分屏模式分析(SystemUI), 附应用启动分屏方法