`
357029540
  • 浏览: 732792 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Extjs中利用Menu和GridPanel生成一个TriggerField

阅读更多
Extjs中TriggerField是专门生成下拉框功能的,它是DataField,TimeField和Combox的父类,在这里提供了一个利用Menu和GridPanel生成一个TriggerField的例子。Extjs是3.2版本的。

jsp文件:



<html>

  <head>

     <script type="text/javascript"></script>

     <link rel="stylesheet" type="text/css" href="./ext/resources/css/ext-all.css">

     <script type="text/javascript" src="./ext/adapter/ext/ext-base.js"></script>

     <script type="text/javascript" src="./ext/ext-all.js"></script>

     <script type="text/javascript" src="./js/form.js"></script>

     <link rel="stylesheet" type="text/css" href="./css/menu.css">

  </head>

  <body>

    <div id="container">

    <div id="form"></div>

</div>

  </body>

</html>


js文件:

form.js

Ext.onReady(function(){



var cm = new Ext.grid.ColumnModel([

   {header:'编号',dataIndex:'id',width:50,sortable:true,

   editor:new Ext.grid.GridEditor(

       new Ext.form.NumberField({

          allowBlank:false,

          allowNegative:false,

          maxValue:10

       })

   )},

   {header:'名称',dataIndex:'name',width:100,sortable:true},

   {header:'性别',dataIndex:'sex'},

   {header:'描述',dataIndex:'desc',width:153},

   {header:'日期',dataIndex:'date',type:'date',renderer:Ext.util.Format.dateRenderer('Y年m月d日')},

   {header:'color',dataIndex:'color'}

]);

var data = [

   ['1','北京','male','首都','2013-06-12','#FBF8BF'],

   ['2','上海','female','东方明珠','2013-06-12','#99CC99'],

   ['3','天津','female','港口城市','2013-06-12'],

   ['4','重庆','male','最年轻的直辖市','2013-06-12','#F5C0C0']

];

var store = new Ext.data.Store({

    proxy:new Ext.data.MemoryProxy(data),

    reader:new Ext.data.ArrayReader({},[

       {name:'id'},

       {name:'name'},

       {name:'sex'},

       {name:'desc'},

       {name:'date',type:'date',dateFormat:'Y-m-d'},

       {name:'color'}

    ])

});



var grid = new Ext.grid.EditorGridPanel({

    store:store,

    cm:cm,

    width:650,

    height:120,

    stripeRows:true,

    loadMask:true,

    viewConfig:{

    forceFit:true,

    enableRowBody:true,

    columnsText:'显示的列',

    sortAscText:'升序',

    sortDescText:'降序',

    scrollOffset:1

    }

});

store.load();



var menu = new Ext.menu.Menu({

    items:[grid]

});

var triggerField = new Ext.form.TriggerField({

    fieldLabel:'选择',

    name:'name',

    onSelect:function(record){},

    onTriggerClick:function(){

    if(this.menu == null){

    this.menu = menu;

    }

    this.menu.show(this.el, 'tl-bl?');//弹出的菜单的左上角或左下角与Ext.form.TriggerField对齐

    }

});



grid.on('rowclick',function(grid,rowIndex,e){

   menu.hide();//选择后隐藏menu

   triggerField.setValue(rowIndex);//设置行号

});

var form = new Ext.form.FormPanel({

    title:'form',

    frame:true,

    renderTo:'form',

    items:[triggerField]

});

});

截图如下:
分享到:
评论

相关推荐

    Extjs入门教程(treePanel和GridPanel)

    TreePanel是ExtJS中的一个树形控件,它允许你展示层级结构的数据。在教程中,你可能会学到如何创建和配置TreePanel,包括加载数据、设置节点图标、处理节点的展开和折叠事件,以及添加拖放功能。TreePanel通常用于...

    ExtJs GridPanel双击事件获得双击的行

    在ExtJs中,GridPanel是用于展示数据的常用组件,它可以提供丰富的功能,如排序、分页、筛选等。在实际应用中,我们经常需要监听用户的交互行为,比如双击行进行进一步的操作。本篇文章将深入讲解如何在ExtJs ...

    extjs界面生成器extjs界面生成器extjs界面生成器

    extjs界面生成器extjs界面生成器extjs界面生成器extjs界面生成器extjs界面生成器

    ExtJS 表格面板GridPanel完整例子

    在本文中,我们将深入探讨如何创建并使用一个完整的ExtJS GridPanel实例,以及与其相关的源码和工具。 首先,让我们理解GridPanel的基本结构。GridPanel通常由以下几个主要部分组成: 1. **Store**: 存储数据的...

    给Extjs的GridPanel增加“合计”行

    在EXTJS中,GridPanel是一种常用的组件,用于展示表格数据。在实际应用中,我们经常需要在GridPanel底部显示一行“合计”行,以便对某一列或多列的数据进行求和或其他统计操作。这篇博文“给Extjs的GridPanel增加...

    extjs动态生成表格,前台+后台

    动态生成表格是ExtJS中的一个重要功能,它允许开发者根据需求灵活地构造表格结构和数据。 首先,我们需要了解ExtJS中的核心组件之一——GridPanel。GridPanel是一个显示二维数据的组件,通常用于展示大量结构化的...

    Extjs中的GridPanel

    总结起来,ExtJS 中的 GridPanel 是一个功能强大且灵活的数据展示组件,它为Web应用提供了丰富的数据管理和用户交互能力。通过熟练掌握 GridPanel 的使用,开发者能够创建出功能丰富、用户体验优秀的数据驱动应用。

    ExtJS介绍以及GridPanel

    除了GridPanel,ExtJS还提供了许多其他组件,如FormPanel(用于创建表单)、TreePanel(用于展示树形数据结构)、Viewport(全屏布局容器)等,它们共同构成了一个强大的Web开发工具箱。 在源码层面,ExtJS使用了...

    ExtJs GridPanel延时加载.rar

    GridPanel是ExtJs中的核心组件之一,它提供了丰富的功能来展示和操作表格数据。你可以通过配置列、排序、过滤、分页等功能来定制你的表格。GridPanel通常与Store配合使用,Store负责管理数据,而GridPanel负责展示...

    ExtJS的GridPanel导出excel文件

    ExtJS的GridPanel导出excel文件,方便快捷易懂!

    Extjs4实现两个GridPanel之间数据拖拽功能具体方法

    首先,需要了解ExtJS中的GridPanel组件,这是一个用于显示表格数据的强大组件,它提供了诸多配置项来定制网格的行为和外观。在实现拖拽功能时,我们首先要确保两个GridPanel组件都已经配置好,并且各自的store已初始...

    ExtJS4.0下的gridPanel组建完全版

    ExtJS 是一个强大的JavaScript库,专门用于构建富客户端的Web应用程序。在ExtJS 4.0版本中,GridPanel组件是其核心特性之一,它允许开发者创建数据密集型的表格展示,提供了丰富的功能和定制选项。这篇内容将深入...

    EXTJS_GridPanel_ColumnModel_列的宽度随数据变化而变化

    在博客中提到的"JavaEyeGrid"可能是一个自定义的EXTJS GridPanel实现,或者是作者提供的示例代码包。这个文件可能包含具体的示例代码和实现细节,通过阅读和学习这个文件,我们可以更深入地理解EXTJS GridPanel动态...

    ExtJs动态grid的生成

    本文将深入探讨如何在ExtJS中动态生成Grid,这是一个非常实用的功能,可以适应不断变化的数据需求和用户交互。我们首先从标题"ExtJs动态grid的生成"开始,了解动态生成Grid的基本概念和实现方法。 动态生成Grid意味...

    ExtJS4 treepanel与girdpanel简单案例(包括MVC模式与非MVC模式)

    用ExtJS4实现的treepanel与gridpanel的简单互动案例 包含mvc开发模式与普通开发模式两种 普通开发模式:需要在引入js文件夹中的main.js文件 mvc开发模式:需要引入app文件夹中的app.js文件 适合初学extjs4的朋友

    extjs gridpanel例子和简单应用

    通过以上分析可以看出,在ExtJS中利用`GridPanel`展示数据时,需要通过多个对象进行配合来完成数据的加载、解析、展示等功能。这些对象包括`HttpProxy`、`JsonReader`、`Store`、`ColumnModel`和`PagingToolbar`等。...

    ExtJs代码自动生成

    ExtJS 是一个强大的JavaScript 应用程序框架,用于构建富客户端Web应用。它提供了一整套组件化的用户界面元素,并支持丰富的数据绑定和交互模式。在开发过程中,有时需要根据数据库结构或者业务需求自动生成相应的...

    EXTJS代码生成器

    EXTJS是一个强大的JavaScript库,用于构建富客户端Web应用,提供了丰富的组件库和强大的数据管理功能。而MVC(Model-View-Controller)模式则是一种软件设计模式,常用于分层架构,使得应用程序的业务逻辑、用户界面...

    Extjs生成主界面

    本文将详细介绍如何使用Extjs结合Sencha Architect工具来生成一个完整的主界面。 #### 二、准备工作 在开始之前,请确保已经安装了Extjs 4.2.X版本以及Sencha Architect工具。Sencha Architect是一款可视化设计...

Global site tag (gtag.js) - Google Analytics