`
相伴随风
  • 浏览: 6689 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

extjs一个普通页面里面有什么

阅读更多

    现在又在做一个二次开发.(上回是jeecms,这回是G4Studio)。写这篇文章的目的是理清自己的思路,同时积累些二次开发的心得。

    二次开发一般大家都是找个合适的开源程序加以运用,来实现快速开发的。

    一开始接触,总是喜欢“东张西望”一会,可能是我以前没有做经验总结的原因。首先,我们就要找到核心部分,即最重要的配置文件类似于web.xml(在G4Studio中是struts-config.xml)运气好的话,里面会有注释的,不好的话,一般从那些名字可以看出一些名堂出来的。往小的方向看:关键是要弄懂你自己要做的那部分,对整体的印象要求不是很高。往大的方向看:要基本弄懂这个项目大体框架,怎么实现的,构成的,哪些功能主要是在哪个项目位置,怎么分布的。

    我自己接触地不是很多,只能谈谈自己知道的东西。

    公共部分:一般至少会包含一个常量类,以及公共方法类(像选择弹窗,字典下拉列表)

    页面部分:aaa.js和aaa.jsp

            aaa.jsp里面主要是import一些需要的js,还有一些数据的过度

            页面最重要的内容是在js里面:

                   首先是个Ext.onReady.(在ExtJs库文件及页面内容加载完后,ExtJs就会执行onReady里面的函数)。然后就是那个函数里面就是真正的内容了:(我谈的是我自己接触的,仅供借鉴观赏)

        1.一个Ext.form.Form.FormPanel,一种专门用于管理表单中输入字段的布局,用来提供搜索参数,实现搜索功能。

          

var queryForm = new Ext.form.FormPanel({
		region : 'north',
		title : '<span class="commoncss">查询条件</span>',
		collapsible : true,
		labelWidth : 50,
		labelAlign : 'right',
		bodyStyle : 'padding:3 5 0',
		buttonAlign : 'center',
		height : 95,//65+行数*30
		items : [{}],
                buttons : [{
			text : '查询',
			iconCls : 'previewIcon',
			handler : function() {
				//查询方法
			}
		}, {
			text : '重置',
			iconCls : 'tbar_synchronizeIcon',
			handler : function() {
				xxxForm.getForm().reset();//表单重置
			}
		}]
	});

 

     参数:region :布局的位置(如north)

                title :标题

                collapsible :是否可以折叠

                labelAlign:标签对齐方式

                items :一个独立的容器(里面可以放置隐藏域,文本框,下拉列表等)

         2.一个Ext.grid.ColumnModel,用来显示搜索出的结果

    

var cm = new Ext.grid.ColumnModel([ rownum, {
		header : 'ID',
		dataIndex : 'id',
		hidden : true,
		sortable : true
	}, {
		header : 'ID',
		dataIndex : 'id',
		hidden : true,
		sortable : true
	}, {
		header : 'ID',
		dataIndex : 'id',
		hidden : true,
		sortable : true
	}, {
		header : 'ID',
		dataIndex : 'id',
		hidden : true,
		sortable : true
	}, {
		header : '备注',
		dataIndex : 'memo',
		hidden : false,
		sortable : true
	}]);

 

            里面的构造参数是一个config组成的数组,参数有:

                header:头部名称

                dataIndex :store中药绑定的字段名称

                sortable:是否支持排序

                hidden:是否隐藏

                renderer :function 可以使用这个构造参数格式化数据(不是很懂,直接用上了)

        3.一个Ext.data.Store,是Ext中用来进行数据交换和数据交互的标准中间件,作用是:从后台获取数据并将其转换成Record供页面使用。(即页面的grid等就可以使用了) 创建完毕之后,执行store.load()就是实现这个转换过程。    

    

var store = new Ext.data.Store({
		//获取数据的方式
		proxy : new Ext.data.HttpProxy({
			url :'请求链接'
		}),
		reader : new Ext.data.JsonReader({
			totalProperty : 'TOTALCOUNT',
			root : 'ROOT', //json中列表数据根节点
		}, [{
			name : 'id'//对应字段name
		}, {
			name : 'id'
		}, {
			name : 'id'
		}, {
			name : 'id'
		}, {
			name : 'id'
		}, {
			name : 'id'
		}, {
			name : 'id'
		}])
	});

 

              通过proxy从某个路径获取原始资源,然后再通过reader转化成record实例(分页的话,用                       totalProperty记录下总条数)

        4.一个new Ext.PagingToolbar 分页工具栏

    

var bbar = new Ext.PagingToolbar({
		pageSize : number,
		store : store,
		displayInfo : true,
		displayMsg : '显示{0}条到{1}条,共{2}条',
		plugins : new Ext.ux.ProgressBarPager(), //分页进度条
		emptyMsg : '没有符合条件的记录',
		items : [ '-', '&nbsp;&nbsp;', combo ]//combo为你定义的下拉列表
	});

 

              pageSize : 总条数

              displayMsg : '显示{0}条到{1}条,共{2}条',

              emptyMsg : "没有符合条件的记录",

              items 一般里面包含着个下拉列表

                         对这个下拉列表进行事件监听:

                                      combo.on("select",function(){})实现store的reload

        5.一个Ext.Toolbar表格工具栏 主要属性items,一般是在这里提供,新增,修改,删除,刷新等功能

                          items : 用到的参数有:text、iconCls、id、handler

   

var tbar = new Ext.Toolbar({
		items : [{
			      text : '新增',
			      iconCls : 'addIcon',
			      id : 'id_tbi_add',
			      handler : function() {
			    	  addInt();
			      }
             },{
                  ......//按钮属性
                  handler : function() {
                           //要调用的方法
                  }
             }]
         });

 

        6.一个Ext.grid.GridPanel 最重要的表格实例

                我们在这里将store、cm、tbar、bbar扔进去,当然你还有其他一些属性

         

var grid = new Ext.grid.GridPanel({
          title : '',
          height : 360,
          id : 'id',
          autoScroll : true,
          frame : true,
          region : 'center',
          store : store, // 数据存储
          stripeRows : true, // 斑马线
          cm : cm, // 列模型
          tbar : tbar, // 表格工具栏
          bbar : bbar,// 分页工具栏
          viewConfig : {// 不产横向生滚动条, 适用于列数比较少的情况
          forceFit : true
          },
          loadMask : {
          msg : '正在加载数据,请稍等...'
          }
          });

 

                 剩下的就是一些监听事件,及操作方法的实现像新增、查询、重置、删除等几个基本操作

         

分享到:
评论

相关推荐

    EXTJS3.1的一个页面

    随便玩玩的EXTJS3.1的一个页面初学者可以看看, 可以用来学习学习。内容还是很丰富的。随便玩玩的EXTJS3.1的一个页面初学者可以看看, 可以用来学习学习。内容还是很丰富的。

    extjs界面生成,页面设计

    extjs界面生成,页面设计,可以用可视化的方式,生成一套extjs系统界面

    EXTJS图书管理系统页面(JAVA)

    总的来说,"EXTJS图书管理系统页面(JAVA)"是一个结合了EXTJS前端技术和Java后端服务的项目,旨在提供一个高效、易用的图书管理平台。通过EXTJS的组件和API,开发者可以快速构建出功能丰富的用户界面,同时利用Java...

    extjs 写的系统页面实例源码

    用extjs写的页面例子,是一个系统,很合适初学者学习

    extjs4 开发的部分纯静态页面

    博文链接指向的是一个ITEYE博客文章,虽然具体内容无法在当前环境中查看,但我们可以推测博主可能分享了关于如何使用ExtJS 4开发静态页面的技巧、示例代码或者常见问题解决方案。 在压缩包的文件名称列表中,我们有...

    EXTJS页面编辑器

    EXTJS页面编辑器是一款专为EXTJS开发人员设计的强大工具,它极大地简化了EXTJS界面的构建过程,使得开发者能够快速、高效地创建出复杂的Web应用程序界面。EXTJS是一种流行的JavaScript框架,以其丰富的组件库、可...

    extjs四个例子,一个中文API

    新手学习,初学extjs时用刚刚好,里边有三个例子,还有一个我自己写的例子(简单粗暴动态菜单),还有一个中文API

    EXTJS一个小抽奖例子

    EXTJS 是一个基于JavaScript的富客户端应用框架,主要用于构建企业级的Web应用程序。EXTJS 提供了一套完整的组件模型、数据绑定机制、丰富的用户界面控件以及强大的图表功能,使得开发者能够创建出交互性强、用户...

    extjs 登陆页面+验证码

    标题中的“extjs 登录页面+验证码”表明我们要讨论的是使用ExtJS框架构建的一个登录页面,其中包含了验证码功能。ExtJS是一个流行的JavaScript库,用于构建桌面级的Web应用程序,它提供了丰富的用户界面组件和强大的...

    ExtJS项目 一个博客系统

    ExtJS项目 一个博客系统 ExtJS项目 一个博客系统

    extjs 2000个 icon 图标素材

    ExtJS 是一个强大的JavaScript应用程序框架,它提供了丰富的用户界面组件和功能,用于构建富客户端Web应用。在ExtJS中,图标(icon)是用于增强UI视觉效果和用户体验的重要元素。这些图标通常用在按钮、菜单项、工具...

    extjs的登录页面

    用extjs4写的登录页面,希望对你有用,适合初学者

    extJs3升级extjs4方案

    例如,在 ExtJS3 中,我们可以使用以下代码来定义一个类: ```javascript Ext.ux.PostStore = Ext.extend(Ext.data.Store, { constructor: function(params) { // ... } }); Ext.reg('PostStore', Ext.ux....

    extjs图标,包含extjs里面的所有基本用过的图标,当做学习之用

    ExtJS图标库是一个集合了ExtJS框架中常用的各种图标资源,这些图标在开发基于ExtJS的应用程序时常常被用于按钮、菜单、工具栏等界面元素,以提供视觉上的指示和操作提示。ExtJS是一个功能丰富的JavaScript UI框架,...

    extjs2.0 画的一个带查询条件和查询结果的页面

    在"extjs2.0 画的一个带查询条件和查询结果的页面"这个主题中,我们主要探讨如何使用ExtJS 2.0版本来设计一个具有搜索功能的用户界面。这个界面包括查询条件输入区域和展示查询结果的区域。 首先,我们需要了解...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    这段代码创建了一个`Panel`,其中包含一个`GridPanel`,并配置了`Store`来从`data.json`加载数据。 接下来,`TreePanel`是用来展示树形结构数据的组件,常用于文件系统或组织结构的展示。与`Ext.Panel`类似,`...

    EXTJS 不同页面之间的传值问题(数据不经过后台,通过页面取得)

    在EXTJS中,不同页面间的通信是一个常见的需求,特别是当需要在不经过服务器的情况下传递数据时。这篇博客"EXTJS 不同页面之间的传值问题(数据不经过后台,通过页面取得)"探讨的就是如何在EXTJS应用的不同视图间...

    ExtJs+ Dwr 页面登入功能

    本项目将讲解如何使用ExtJs(一个强大的JavaScript框架)结合DWR(Direct Web Remoting,一种允许JavaScript与Java后端进行实时通信的技术)来实现页面的登录功能。通过这种方式,我们可以创建一个高效、用户友好的...

    开发extjs程序可查看页面源代码

    总的来说,“开发ExtJS程序可查看页面源代码”这个资源文件将帮助开发者在调试和优化ExtJS应用时更有效地工作。掌握查看源代码的方法,结合使用开发者工具和专用的ExtJS工具,能够提高问题定位的准确性和开发效率,...

    一个extjs表格的实例

    extjsDemo2 form panel 一个extjs的demo。1、描绘了表格的属性;2、一个简单的页面布局。供参考。

Global site tag (gtag.js) - Google Analytics