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'模板列
分享到:
相关推荐
严格按照MVC架构分的曾,可以运行的extJs4.2MVC示例,在myclipse加到一个项目里的的webroot文件夹下,运行index.html即可
在这个"ExtJs 4.1 mvc 简单示例"中,我们将深入探讨如何在ExtJS 4.1中应用MVC模式来创建一个简单的应用程序。 首先,让我们来看看核心组件: 1. **index.html**:这是Web应用的入口点,通常包含HTML结构以及必要的...
ExtJS MVC示例是基于ExtJS 4.2.0框架的一个典型应用场景,它展示了如何在Web应用中利用MVC(Model-View-Controller)设计模式进行开发。MVC模式是一种软件设计模式,用于分离应用程序的数据、用户界面和逻辑控制,以...
最新版本,ExtJS6 MVC 精简示例!!!,一个可以参考的小例子!
下面将详细探讨EXTJS 4.0中的MVC概念以及在示例代码中可能涉及的关键知识点。 **1. MVC模式概述** MVC模式是一种软件设计模式,用于将业务逻辑、用户界面和数据存储分离。在EXTJS 4.0中,模型(Model)负责管理数据...
在这个示例中,我们将会深入探讨如何在ExtJS 4.0中运用MVC模式。 首先,MVC模式是软件设计的一个经典模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在ExtJS 4.0中,这...
ExtJS MVC 官方实例是基于ExtJS框架的模型-视图-控制器(MVC)架构的应用示例。ExtJS是一款强大的JavaScript库,用于构建富客户端的Web应用程序,而MVC模式则是它组织代码和管理应用程序状态的核心设计模式。在这个...
原本是打算采用EXTJS4 的MVC做应用框架,已完成左侧树菜单、tabpanel(内嵌Grid,带查询及分页功能) 但是由于网络上的相关文章太少,公司对这个框架提出疑问,以后会不会遇到问题,所以改用ext3了...唉
**Spket 1.6.12 和 ExtJS 5 简单示例** 本文将详细介绍如何使用 Spket 1.6.12 集成开发环境(IDE)与 ExtJS 5 框架相结合,创建一个简单的应用程序,并通过 JSON 数据自动生成对应的 Java 类型的 model 和 store ...
原本是打算采用EXTJS4 的MVC做应用框架,已完成左侧树菜单、tabpanel(内嵌Grid,带查询及分页功能) 但是由于网络上的相关文章太少,公司对这个框架提出疑问,以后会不会遇到问题,所以改用ext3了...唉
EXTJS MVC 完整 demo 是一个基于 EXTJS 框架实现的模型-视图-控制器(Model-View-Controller)架构的示例项目。EXTJS 是一款强大的前端开发框架,用于构建桌面级的富互联网应用程序(RIA)。它提供了一套完整的组件...
在"ASP.NET MVC5 + ExtJS6 表格示例"中,我们可以看到这两种技术的结合。开发者可能通过ASP.NET MVC5后端处理数据,如从数据库查询、操作数据,然后返回到前端。前端使用ExtJS6的Grid组件展示这些数据,创建一个动态...
这个官方实例集是ExtJS 4 MVC模式的一个完整展示,旨在帮助开发者理解并掌握如何使用MVC进行开发。 **MVC模式详解:** 1. **Model(模型)**:负责处理数据和业务逻辑,通常与后台服务进行通信,获取或存储数据。在...
1. **ExtJS库**:ExtJS是Sencha公司开发的一个前端框架,它基于MVC(Model-View-Controller)设计模式,提供了丰富的UI组件和强大的数据管理能力。库中的核心组件包括窗口、表单、菜单、工具栏、面板、树形结构、...
这个"ExtJS MVC入门级开发案例"是一个理想的学习资源,适合初学者理解并掌握如何在ExtJS中应用MVC架构。 **1. MVC模式详解** Model(模型):负责处理应用程序的数据逻辑,与后端服务器进行交互,获取和存储数据。...
在`ExtJS_MVC_Demo`这个压缩包中,可能包含了演示如何使用ExtJS 4.0.7实现MVC模式的各种示例代码。这些示例可能包括模型定义、视图组件的创建、控制器的编写以及应用的配置等。通过学习和分析这些示例,开发者可以更...
【ExtJS】MVC应用架构示例 在Web开发领域,ExtJS是一个强大的JavaScript库,用于构建复杂的、数据驱动的用户界面。它采用MVC(Model-View-Controller)架构模式,这是一种设计模式,用于组织应用程序的代码,使其更...
在这个"extjs6.6项目示例"中,我们可以深入理解ExtJS的用法,并学习如何构建基于此框架的应用程序。 首先,"原生态extjs框架的web项目"指的是使用纯ExtJS库构建的项目,没有依赖其他额外的前端框架或库。这种项目...