`
xiaolongheni
  • 浏览: 20048 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

extjs mvc简单示例

    博客分类:
  • EXT
 
阅读更多

app.js

Ext.onReady(function() {
   Ext.QuickTips.init();
   Ext.Loader.setConfig({
      enabled : true//自动加载
     });
   Ext.application({
      appFolder : 'app',//文件名
      name : 'AM',//文件名对应的包名
      launch : function() {//回调函数
       Ext.create("Ext.container.Viewport", {
          loyout : 'auto',//自动布局
          items : [{
             xtype : 'userlist',
             title : 'users',
             html : 'list Form users will...'
            }]
         })
      },
      controllers : ["Users"]//控制器,对应继承Ext.app.Controller的控制器
     });

  });



 

controller/Users.js 控制层

Ext.define("AM.controller.Users",{
 extend:'Ext.app.Controller',
 init:function(){
  //this.control({}); //控制业务逻辑,如按钮事件业务逻辑
 },
 views:["List"],//视图层
 stores:["Users"],//store 和model 共同被称为Ext mvc 的model层
 models:["AM.model.User"]
});

 view/List.js

Ext.define("AM.view.List", {
			extend : 'Ext.grid.Panel',
			title : 'Dom',
			frame : true,
			width : 800,
			height : 400,
			alias : 'widget.userlist',
			multiSelect : true,// 是否可选多条记录
			selType : 'checkboxmodel',// 设置选择模式 见Ext.selection包
			store : "Users",
			columns : [Ext.create('Ext.grid.RowNumberer', {})//添加一列号
					, {
						text : 'name',
						dataIndex : 'name'// 对应model里的fields的name
					}, {
						text : 'age',
						dataIndex : 'age'
					}, {
						text : 'email',
						dataIndex : 'email'
					}, {
						text : 'action',
						icon : '../img/delete.png',
						header : 'Action',
						handler : function(view, rowIndex, colIndex, item, e) {//单击时触发的函数
							alert(view + rowIndex)
						},
						xtype : 'actioncolumn',// 操作列
						width : 60
					}, {
						header : '拼装',
						xtype : 'templatecolumn',//模板列
						tpl : '编辑{age} 邮箱{email}'//调用store,或model里的age,email变量
					}, {
						header : '出生日期',
						xtype : 'datecolumn',//日期列 后台无论是yyyy-mm-dd日期还是外国日期都能识别
						dataIndex : 'birthday',
						width : 80,
						format : 'Y-m-d'//日期格式
					}, {
						text : 'isIt',
						dataIndex : 'isIt',
						width : 80,
						renderer : function(value) {//回调
							if (value) {
								if (value == '是') {
									return "<font color=red>" + value
											+ "</font>";
								} else {
									return "<font color=green>" + value
											+ "</font>";
								}
							}
						}
					}],
			tbar : [{
						xtype : 'button',
						text : '增加'
					}, {
						xtype : 'button',
						text : '修改'
					}, {
						xtype : 'button',
						text : '删除',
						handler : function(o, e) {
							// 得到grid
							var grid1 = o.findParentByType('grid');
							var sModel = grid1.getSelectionModel();// 得到选择模型
							var selectedModels = sModel.getSelection();// 得到选择的Ext。data。Model
							var names = [];
							Ext.each(selectedModels, function(model) {
										names.push(model.get('name'));
									});
							// 访问后台
							// 如果后台返回成功则移除
							Ext.getCmp('grid_s').getStore()
									.remove(selectedModels);
						}

					}],
			dockedItems : [{// 停驻条目
				dock : 'bottom',// 悬停方位 可是上、下、左、右 任意一个
				xtype : 'pagingtoolbar',// 分页工具栏
				store : 'Users',// 根据storeid查找store
				displayInfo : true
					// 显示 deisplayMsg
			}],
			initComponent : function() {
				this.callParent(arguments);
			}
		});

 

 store/Users.js

Ext.define("AM.store.Users",{
	extend:'Ext.data.Store',
	storeId:'user_store',
	model:'AM.model.User',
	autoLoad:true//很重要
})

 model/User.js

Ext.define("AM.model.User", {
			extend : "Ext.data.Model",
			fields : [{
						name : 'name',
						type : 'string'
					}, {
						name : 'age',
						type : 'int'
					}, {
						name : 'email',
						type : 'string'
					}, {
						name : 'birthday',
						type : 'string'
					}, "isIt"//此处可这样简写
					],
			proxy : {
				type : 'ajax',// 后台加载
				url : 'lesson11.jsp',
				reader : {
					type : 'json',
					root : 'storeData'
				}
			}
		});

 

 ext 列模式'Ext.grid.column.Column普通列,Ext.grid.column.Action行为列,'Ext.grid.column.Boolean 布尔型列,'Ext.grid.column.Date'日期列,'Ext.grid.column.Number'数字列,'Ext.grid.column.Template'模板列

  • 12.zip (107.6 KB)
  • 下载次数: 14
分享到:
评论

相关推荐

    extJs4.2MVC示例

    严格按照MVC架构分的曾,可以运行的extJs4.2MVC示例,在myclipse加到一个项目里的的webroot文件夹下,运行index.html即可

    ExtJs 4.1 mvc 简单示例

    在这个"ExtJs 4.1 mvc 简单示例"中,我们将深入探讨如何在ExtJS 4.1中应用MVC模式来创建一个简单的应用程序。 首先,让我们来看看核心组件: 1. **index.html**:这是Web应用的入口点,通常包含HTML结构以及必要的...

    ExtJS MVC示例

    ExtJS MVC示例是基于ExtJS 4.2.0框架的一个典型应用场景,它展示了如何在Web应用中利用MVC(Model-View-Controller)设计模式进行开发。MVC模式是一种软件设计模式,用于分离应用程序的数据、用户界面和逻辑控制,以...

    ExtJS6 MVC 精简示例

    最新版本,ExtJS6 MVC 精简示例!!!,一个可以参考的小例子!

    extjs4.0 MVC 示例代码

    下面将详细探讨EXTJS 4.0中的MVC概念以及在示例代码中可能涉及的关键知识点。 **1. MVC模式概述** MVC模式是一种软件设计模式,用于将业务逻辑、用户界面和数据存储分离。在EXTJS 4.0中,模型(Model)负责管理数据...

    自己写的ExtJS4.0用MVC的示例

    在这个示例中,我们将会深入探讨如何在ExtJS 4.0中运用MVC模式。 首先,MVC模式是软件设计的一个经典模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在ExtJS 4.0中,这...

    ExtJS MVC 官方实例

    ExtJS MVC 官方实例是基于ExtJS框架的模型-视图-控制器(MVC)架构的应用示例。ExtJS是一款强大的JavaScript库,用于构建富客户端的Web应用程序,而MVC模式则是它组织代码和管理应用程序状态的核心设计模式。在这个...

    Extjs 4 MVC Demo 示例

    原本是打算采用EXTJS4 的MVC做应用框架,已完成左侧树菜单、tabpanel(内嵌Grid,带查询及分页功能) 但是由于网络上的相关文章太少,公司对这个框架提出疑问,以后会不会遇到问题,所以改用ext3了...唉

    spket1.6.12+extjs5简单示例

    **Spket 1.6.12 和 ExtJS 5 简单示例** 本文将详细介绍如何使用 Spket 1.6.12 集成开发环境(IDE)与 ExtJS 5 框架相结合,创建一个简单的应用程序,并通过 JSON 数据自动生成对应的 Java 类型的 model 和 store ...

    Extjs 4 MVC Demo 示例 2分

    原本是打算采用EXTJS4 的MVC做应用框架,已完成左侧树菜单、tabpanel(内嵌Grid,带查询及分页功能) 但是由于网络上的相关文章太少,公司对这个框架提出疑问,以后会不会遇到问题,所以改用ext3了...唉

    extjs mvc 完整demo

    EXTJS MVC 完整 demo 是一个基于 EXTJS 框架实现的模型-视图-控制器(Model-View-Controller)架构的示例项目。EXTJS 是一款强大的前端开发框架,用于构建桌面级的富互联网应用程序(RIA)。它提供了一套完整的组件...

    ASP.NET MVC5 +ExtJS6 表格示例

    在"ASP.NET MVC5 + ExtJS6 表格示例"中,我们可以看到这两种技术的结合。开发者可能通过ASP.NET MVC5后端处理数据,如从数据库查询、操作数据,然后返回到前端。前端使用ExtJS6的Grid组件展示这些数据,创建一个动态...

    Extjs4 MVC 官方实例整合 未改动 未删减 部署即可运行

    这个官方实例集是ExtJS 4 MVC模式的一个完整展示,旨在帮助开发者理解并掌握如何使用MVC进行开发。 **MVC模式详解:** 1. **Model(模型)**:负责处理数据和业务逻辑,通常与后台服务进行通信,获取或存储数据。在...

    ExtJS静态使用示例

    1. **ExtJS库**:ExtJS是Sencha公司开发的一个前端框架,它基于MVC(Model-View-Controller)设计模式,提供了丰富的UI组件和强大的数据管理能力。库中的核心组件包括窗口、表单、菜单、工具栏、面板、树形结构、...

    ExtJS MVC入门级开发案例

    这个"ExtJS MVC入门级开发案例"是一个理想的学习资源,适合初学者理解并掌握如何在ExtJS中应用MVC架构。 **1. MVC模式详解** Model(模型):负责处理应用程序的数据逻辑,与后端服务器进行交互,获取和存储数据。...

    ExtJS的MVC模式

    在`ExtJS_MVC_Demo`这个压缩包中,可能包含了演示如何使用ExtJS 4.0.7实现MVC模式的各种示例代码。这些示例可能包括模型定义、视图组件的创建、控制器的编写以及应用的配置等。通过学习和分析这些示例,开发者可以更...

    [ExtJS] MVC应用架构示例

    【ExtJS】MVC应用架构示例 在Web开发领域,ExtJS是一个强大的JavaScript库,用于构建复杂的、数据驱动的用户界面。它采用MVC(Model-View-Controller)架构模式,这是一种设计模式,用于组织应用程序的代码,使其更...

    extjs6.6项目示例

    在这个"extjs6.6项目示例"中,我们可以深入理解ExtJS的用法,并学习如何构建基于此框架的应用程序。 首先,"原生态extjs框架的web项目"指的是使用纯ExtJS库构建的项目,没有依赖其他额外的前端框架或库。这种项目...

Global site tag (gtag.js) - Google Analytics